Automated Removal and Replacement of Vehicle Wheels and Tires

ABSTRACT

Systems, methods and apparatus for automated vehicle wheel removal and replacement are provided. One system includes a computer system with applications for scheduling the replacement of tires for the vehicle. An electronically controlled lift device and robotic apparatus is configured for interaction with the computer system. The lift device mechanically adjusts arms for placement on lift points of vehicles. The robotic apparatus detects positioning of lug nut configuration for a wheel, removes lug nuts, and then removes the wheel from the wheel hub with gripping arms. The wheel and tire are then handed off to a separate tire changing machine. When a new tire is replaced the robotic apparatus then mounts the wheel to the original wheel hub, and then secures the lug nuts to the lug nut bolts.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No. 62/916,198, filed Oct. 16, 2019, which is hereby incorporated by reference in its entirety.

BACKGROUND

Removal of wheels from vehicle wheel hubs and placing old tires with new tires onto the removed wheels is a manual and time-intensive process. Often a vehicle is jacked up or lifted by a manually operated hydraulic lift or vehicle jack. Lug nuts are then manually removed via a torque wrench or tire iron. Once the lug nuts are removed, the wheel and tire are then physically handled and removed from a wheel-hub. Such manual operations may lead to inefficient operations, and potential physical hazards to a person removing the wheel and tire from the vehicle.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is best understood from the following detailed description when read with the accompanying Figures. It is emphasized that, in accordance with the standard practice in the industry, various features are not drawn to scale. In fact, the dimensions of the various features may be arbitrarily increased or reduced for clarity of discussion.

FIG. 1 illustrates an example system for the automated removal and replacement of a wheel and tire.

FIG. 2A illustrates an example of an automated wheel removal and wheel replacement station.

FIG. 2B illustrates an example of automated wheel removal and wheel replacement stations.

FIG. 3 illustrates an example user interface of the computer system.

FIG. 4 illustrates an example user interface of the computer system.

FIG. 5 illustrates an example user interface of the computer system.

FIG. 6 illustrates an example table for a database of the computer system.

FIG. 7 illustrates system modules of the computer system.

FIG. 8 illustrates an example overview of a method for automated wheel removal and wheel replacement.

FIG. 9 illustrates an example method for tire change job creation and tire change job scheduling.

FIG. 10 illustrates an example method for vehicle check-in for a scheduled tire change job.

FIG. 11 illustrates an example method for vehicle lifting.

FIG. 12 illustrates an example method for automated wheel removal.

FIG. 13 illustrates an example method for tire removal and replacement.

FIG. 14 illustrates an example method for tire balancing.

FIG. 15 illustrates an example method for automated wheel replacement.

FIG. 16 illustrates a schematic drawing of an example of a vehicle lifting device.

FIG. 17 illustrates a schematic drawing of an example of a vehicle lifting device.

FIG. 18 illustrates a schematic drawing of an example of a vehicle lifting device.

FIG. 19 illustrates a schematic drawing of an example robotic apparatus.

FIG. 20 illustrates a schematic drawing of an example tire gripper.

FIG. 21 illustrates a schematic drawing of an example tire gripper.

FIG. 22 illustrates a schematic drawing of an example vacuum grip plate.

FIG. 23 illustrates a schematic drawing of an example mechanical tire basket.

FIG. 24 illustrates a schematic illustration of obtaining an image and lug-pattern determination.

FIG. 25 illustrates a schematic illustration of different types of lug nut patterns.

FIG. 26 illustrates a schematic drawing of an example robotic system for automated wheel removal and replacement.

FIG. 27 illustrates a schematic drawing of an example robotic system for automated wheel removal and replacement.

FIG. 28 illustrates a method for robotic apparatus control along a path for automated wheel removal and replacement.

FIG. 29 illustrates a method for machine learning training and inference of lug nut lock types based on digital imagery.

FIG. 30 illustrates a schematic illustration of lug nut locks and lug nut lock sockets.

FIG. 31 illustrates a method for machine learning training and inference of lug nut types based on digital imagery.

FIG. 32 illustrates a method for machine learning training and inference of lug nut patterns based on digital imagery.

FIG. 33 illustrates a method for cross-threading control for a robotic apparatus.

FIG. 34 illustrates a schematic drawing of an example system for the automated removal and replacement of a wheel and tire.

FIG. 35 illustrates a schematic drawing of an example modular container system.

DETAILED DESCRIPTION

Illustrative embodiments of the subject matter claimed below will now be disclosed. In the interest of clarity, not all features of an actual implementation are described in this specification. It will be appreciated that in the development of any such actual embodiment, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which will vary from one implementation to another. Moreover, it will be appreciated that such a development effort, even if complex and time-consuming, would be a routine undertaking for those of ordinary skill in the art having the benefit of this disclosure.

Among other features, this specification describes a system to automatically remove and dismount a wheel from a vehicle for tire replacement, and then replace the wheel once a tire has been mounted.

Embodiments of the disclosure include a system, method and computer readable media for controlling and/or scheduling control of a robotic apparatus from applications operable on two or more different remote devices. The system receives one or more control parameters from an application user interface displayed by the two or more remote devices. Each device receives information via user input from the user interface, and the parameter data is sent by the device, and is received by the system and stored in a data repository. The system then uses the stored parameter data to direct or control the operations of a robotic apparatus according to the parameter data received from each device. For example, the parameter data may be specific to a particular type of vehicle. The system determines the operation of the robotic apparatus based on the type of vehicle. The system instructs the robotic apparatus to perform different operations for different types of vehicles. Further, during operation of the robotic apparatus, the system may transmit to the device originating the control parameters, sensor data obtained by the robotic apparatus.

Embodiments of the disclosure include a system, method and computer readable media for performing automatic wheel removal and tire replacement. The system determines a wheel fastener pattern for a first wheel of a first vehicle. Based on the determined wheel fastener pattern, the system directs a robotic apparatus to remove three or more wheel fasteners from a first wheel hub of the first vehicle. The robotic apparatus removes the first wheel from the first wheel hub of the first vehicle. The wheel is handed off to a tire changing removal and replacement station. The robotic apparatus retrieves the first wheel and replaces the first wheel onto the first wheel hub of the first vehicle. Based on the determined wheel fastener pattern, the system directs the robotic apparatus to secure the three or more wheel fasteners onto the first wheel hub of the first vehicle.

Embodiments of the disclosure include a system, method and computer readable media for performing automatic wheel removal and tire rotation. The system determines a wheel fastener pattern for a first wheel of a first vehicle. Based on the determined wheel fastener pattern, the system directs a robotic apparatus to remove three or more wheel fasteners from a first wheel hub of the first vehicle. The robotic apparatus removes the first wheel from the first wheel hub of the first vehicle, and places the wheel in a staging location. One or more robotic apparatus removes the other wheels from the other vehicle's wheel hubs, and places the removed wheels in a staging location. The system determines a rotational pattern for placing the wheels back onto the vehicle's wheel hubs. Based on the determined rotational pattern, the one or more robotic apparatus place the wheels onto a different wheel hub than the original wheel hub from which they were removed.

In one embodiment, there is a system and computer-implemented method for vehicle wheel removal and replacement. The system determines a wheel fastener pattern for a first wheel of a first vehicle. Based on the determined wheel fastener pattern, the system removes using a robotic apparatus three or more wheel fasteners from a first wheel hub of the first vehicle. The system using a robotic apparatus, removes the first wheel from the first wheel hub of the first vehicle. The system using the robotic apparatus replaces the first wheel onto the first wheel hub of the first vehicle. The system using the robotic apparatus then applies the three or more wheel fasteners onto the first wheel hub of the first vehicle.

In a further embodiment, based on the determined wheel fastener pattern, the system using the robotic apparatus removes three or more wheel fasteners from a second wheel hub of the first vehicle. The system using the robotic apparatus, removes the second wheel from a second wheel hub of the first vehicle. The system using the robotic apparatus, replaces the second wheel onto the second wheel hub of the first vehicle. The system using the robotic apparatus then applies the three or more wheel fasteners onto the second wheel hub of the first vehicle.

As used herein, a lug nut is a fastener used to secure a wheel to a vehicle wheel hub via threaded wheel bolts. Typically, 4, 5, 6 or 8 lug nuts are used to secure the wheel to the wheel hub. Some wheel fastener designs use lug bolts which screw into a tapped (or threaded) hole in the wheel's hub, rotor, drum brake or disk. For purposes of this disclosure, application of a lug nut contemplates application to lug bolts also.

System

Referring to FIG. 1, an exemplary system 100 for the automated removal and replacement of a wheel and tire is disclosed. The system 100 can be a system of one or more computers 102, 104, 106, 108, 110 (generally referred to as 102) including software executing a method system on one or more computers 102, which is in communication with, or maintains one or more databases 112 of information. While the database 112 is depicted as coupled with one computer 110, the database may be distributed, replicated in whole or part, and communicatively coupled to other computers 102. For example, portions or subsets of data may be distributed to various computers 102 to allow for local database access of information stored on database 112. The information stored by the system 100 may include, but is not limited to, the following databases:

Customer Database, including fields such as cust_record_id, customer name, customer address, customer_phone_number.

Customer Vehicle Database, including fields such as cust_veh_record_id, vehicle_make, vehicle_model, vehicle_identification_number, vehicle_license_plate, vehicle_year, vehicle_color, desired_tire_pressure, desired_gas_type, wheel_locks.

General Vehicle Database, including fields gen_veh_record_id, vehicle_make, vehicle_model, vehicle_year, lifting_point_coordinates, lifting_height, axle_distance, tpms_type, lugnut_configuration.

Inventory Database, including fields such as inv_record_id, tire_quantity, tire_size, tire_brand, manufacturer, speed_rating, pressure_setting, location_stored, location coordinates.

Scheduling Database including fields such as sched_record_id, cust_record_id, cust_veh_record_id, schedule_appointment_date_and_time, front_tire_SKU_numbers, rear_tire_SKU_numbers.

The system 100 may include other tables, and database files, and may store images and other sensor data obtained by the system 100 as described herein.

The system 100 generates tire change jobs based on received customer information and customer vehicle information. The system 100 may use the received information as control parameters to direct the control or operation of a vehicle lifting device for lifting vehicles and robotic apparatus for lug nut and wheel removal and replacement as disclosed herein. The system 100 may receive and store images associated with a customer vehicle in a database 112. The system 100 uses image evaluation processes to perform object detection, and/or create 3-dimensional model of a wheel of a vehicle. The system 100 interacts and is communicatively coupled with one or more vehicle lifting devices 140, 142, 144 (generally referred to as 140), with one or more robotic apparatus 150, 152, 154 (generally referred to as 150) and one or more tire removal/replacement machines 160, and one or more tire balancing machines 170. The system 100 may include multiple interfaces 122, 124, 126, 128 (generally referred to as 122) based on the particular functionality to be performed by the system 100. For example, the system 100 may include a customer interface for receiving customer and vehicle information; an operator interface for control and operation of the vehicle lifting device 140, the robotic apparatus 150, the tire removal/replacement machines 160, and/or the tire balancing machines 170. Additionally, other interfaces may be utilized.

In one example, a user interface receives information to schedule the replacement of tires for a vehicle. This information is stored in a data repository of the system. The architecture of the system allows for interaction with multiple remote devices, such as tablet, cellular phone, laptop, other mobile internet connected devices, and the like. A software application, program, web page or other processes may be executed on the remote devices. The system 100 retrieves and stores the information which is obtained from multiple users with respect to scheduling a tire change job. Each of the users are providing control parameters for the operation of the robotic apparatus 150 that will be later used to perform the automated lifting, and wheel removal and replacement onto their vehicle.

The system 100 may use a computer network 126 for communication to one or more computers 102 of the system 100. As described herein, the computer network 120, may include, for example, a local area network (LAN), a virtual LAN (VLAN), a wireless local area network (WLAN), a virtual private network (VPN), cellular network, wireless network, the Internet, or the like, or a combination thereof. Communication among devices of may be performed using any suitable communications protocol such as TCP/IP or EtherNET IP.

Vehicle lifting devices 140 may be communicatively coupled to the system 100 via computer network 120. The vehicle lifting devices 140 may receive instructions, commands and other data from the system 100. The vehicle lifting device 140 is further described herein. The vehicle lifting device 140 may include different types of sensors to obtain sensor data describing a vehicle. The sensor data obtained by the vehicle lifting device 140 may be transmitted to the system 100 for analysis and/or storage into a database 112. The vehicle lifting device 140 provides a mechanism to physically lift a vehicle in a vertical manner according to a predetermined height value.

Robotic apparatus 150 may be communicatively coupled to the system 100 via computer network 120. The robotic apparatus 150 may receive instructions, commands and other data from the system 100. The robotic apparatus 150 is further described herein. The robotic apparatus 150 may include different types of sensors integrated into the robotic apparatus 150 to obtain sensor data describing the vehicle. The sensor data obtained by the robotic apparatus 150 may be transmitted to the system 100 for analysis and/or storage into a database 112. The robotic apparatus 150 provides a mechanism to physically remove a wheel from a vehicle and physically replace the wheel back onto the vehicle. As further described, the robotic apparatus 150 may have different configurations of tooling ends that allow for the removal and replacement of wheel fasteners and the removal and replacement of the wheel from a vehicle wheel hub.

One or more tire removal machines 160 may be communicatively coupled to the system 100 via computer network 120. The tire removal machine 160 may receive instructions, commands and other data from the system 100. The tire removal machine 160 may include different types of sensors integrated into the tire removal machine 160 to obtain sensor data describing a wheel and/or tire. The sensor data obtained by the tire removal machine 160 may be transmitted to the system 100 for analysis and/or storage into a database 112. The tire removal machine 160 may receive one or more parameters, such as wheel size, tire size, tire pressure monitoring system (TPMS) location, desired tire inflation PSI value and/or a value for a type of gas such as air, or nitrogen to be used for tire inflation.

One or more tire balancing machines 170 may be communicatively coupled to the system 100 via computer network 120. The tire balancing machine 170 may receive instructions, commands and other data from the system 100. The tire balancing machine 170 may include different types of sensors integrated into the tire balancing machine 170 to obtain sensor data describing a wheel and/or tire. The sensor data obtained by the tire removal machine 170 may be transmitted to the system 100 for analysis and/or storage into a database 112.

FIG. 2A illustrates an example of an automated wheel removal and wheel replacement station 200. The example illustrates a vehicle 210 positioned over a vehicle lifting device 140 (not shown). In one embodiment of the station 200, two robotic apparatus 250 (also referred to as 150 in FIG. 1) are positioned in a proximate location where the robotic apparatus 250 can interact with a vehicle 210 and manipulate the wheel fasteners, remove the wheels, and replace the wheels. Additionally, depicted are wheel holding stations 256 where the robotic apparatus 250 may place a removed wheel onto the wheel holding station 256, and/or where a wheel may be positioned in advance of the wheel being placed back onto the vehicle 210. The actual location of the wheel holding station 256 may be positioned in any convenient location for operation of the robotic apparatus 250.

Additionally, a control station 258 may be used for control and operation of the robotic apparatus 250. The control station may be used for manual and/or automated control of the robotic apparatus 250. The control station 258 may receive instructions, commands and other data from the system 100 (as depicted in FIG. 1). For example, a user interface of the system 100 may provide for instructions to directly control the robotic apparatus 250. The control station 258 may be communicatively coupled to control the robotic apparatus 250.

Also, depicted are tire balancing machines 270 that are communicatively coupled to the system 100 (as depicted in FIG. 1).

FIG. 2B illustrates an example of automated wheel removal and wheel replacement stations. This example illustrates a physical structure 220 with three bays 222, 224, 226. The physical structure 220 includes multiple robotic apparatus 250 (also referred to as 150 in FIG. 1), multiple control stations 258, multiple wheel holding stations 256, and multiple tire balancing machines 270. This example illustrates a configuration where multiple vehicles 210 may be serviced by the robotic apparatus 250 for automated wheel removal, tire change and wheel replacement.

Referring to FIG. 3, an exemplary application user interface (300) of the system 100 is disclosed. The application user interface 300 may be presented via a user computing device using a browser, other network resource viewer, desktop or mobile application, or otherwise.

In this example, the system 100 (as depicted in FIG. 1) generates the user interface 300 via an application program or module. The user interface 300 may be used for creating and scheduling a tire change job. The user interface 300 includes a portion of the user interface 310 for obtaining vehicle information. The user interface 300 additionally includes a portion 320 for receiving a selection of a tire. The user interface 300 additionally includes a portion 330 for choosing a physical location for the changing of a tire. The user interface 300 additionally includes a portion 340 for selecting a date and time for scheduling the tire change job. The user interface 300 show available appointment dates and times. Times that are not available are either not shown via the user interface 300, or are displayed but are not selectable by a user.

The system 100 obtains customer order information through a respective website or device application. (An application can herein be described by as a software program that runs on a computer or mobile device.) A user may interact with a device 102 (as depicted in FIG. 1) (e.g. phone, tablet, computer, etc.) that runs and thereby executes an application, for example that has been downloaded from an online application store. The application can generate interactive user interfaces for presentation to the user. Via a user interface of the system 100, a user can specify their vehicle make, model, and year 310. The system 100 prompts the user to provide three sets of information about their vehicle. Namely, the system 100 requests user input on the make, model, and year of the user's respective vehicle. The information is then stored within the database of the system. In response to receiving the requested information of the user's vehicle, a list of available tire types may be presented for selection based on the vehicle information received by the system 100.

The system 100 may prompt the user for additional information, wherein the user selects and purchases a desired tire model(s) via the user interface 320. Additionally, the system 100 prompts the user to input which tire(s) is/are going to be replaced. (i.e. the front driver's side tire, front passenger side tire, rear passenger side tire, etc.) The system 100 stores this set of information within the database 112 and continues the user input process.

The system 100 may request an additional information regarding which commercial location 330 the user prefers to have their tires changed. The application prompts the user for access to their device's (for example, a mobile a phone, or other mobile computing device) GPS (“Global Positioning System”) or location services, to locate the nearest locations where the user may have a tire change job performed. The system 100 determines based on the location of the device and provides a listing of one or more locations for the tire replacement.

Optionally, the user may deny access to the application, and instead manually input a location's address as well to be provided with locations where a tire change job may be performed. The user interface displays nearby locations and their distances, and/or distances from the user's address or location, and then the user selects a desired location for the tire change job, and that information is then stored in the system's database.

The system 100 prompts the user to input information about their desired appointment date and time 340. The system 100 checks for available dates and store hours listed by the commercial location for appointment. Once identified, the system 100 presents the appointment slots to the user in the respective device's interface. The system then stores the selected appointment date and time slot entered by the user into the database.

The system 100 additionally may include other user interfaces to provide a user information about the status of a scheduled job. Additionally, the system 100 may include additional user interfaces allowing other users to interact with the system, for example back-office or accounting, technical operators for control or monitoring of the vehicle lifting device 140, robotic apparatus 150, tire removal machine. The foregoing list of user interfaces is for exemplary purposes, and not meant to be limiting.

The system 100 may include a user interface of a mobile application adapted for use on a mobile device. The mobile application may be configured to capture images of the vehicle. The user interface of the mobile device may instruct a user to capture one or more of a frontal image of the vehicle, an image for each of the wheel/tire of the vehicle, and an image of the license plate. The mobile application may submit the images for storage and subsequent processing by the system 100.

The system 100 may receive an image of the tread of a tire and the system 100 may determine that the tire needs to be replaced. For example, in one embodiment, one or more images may be received by the system 100 and the system 100 determines tread depth by creating a 3-dimensional model of the tire from the image. Alternatively, a known object, such as a quarter, may be placed into the tread and an image taken by the application. The system 100 may then identify the depth of the quarter in the tread based on the known size of the quarter. The system 100 compares the size of the quarter to the portion of coverage of tread. The determined portion of coverage of the quarter then may be used to calculate a distance from an intersecting line across the quarter to a perpendicular line to the edge of the quarter. While a quarter is used in the example, other objects may be use as well. Additionally, a ruler or other measurement device may be placed in the tread and an image of the measurement device may be taken. The system 100 then evaluates the image to determine the measurement markings of the device, and calculates the depth of the tread on the tire. The tread measurement is then stored by the system in the database 112, and associated with the vehicle id, and the respective tire (for example, front left, front right, rear right, and rear left)

Additionally, the system 100 may determine a size of the tire and the brand and model of the tire. The system 100 may determine a height of sidewall of the tire based on analysis of the image. The system 100 may also determine the diameter of the wheel on which the tire is mounted.

Additionally, the system 100 may determine the size of the tire by evaluating markings on the tire that identify the tire size. For example, an obtained image of the tire may depict letters on the tire, such as P215/65R15. The system 100 may use optical character recognition to identify the lettering and symbols on the tire. These letters and symbols may be used by the system 100 to identify the size of the tire. The first number 215 represents the section width of the tire, in millimeters. This is the measurement of the tire at its thickest point. The second number 65 refers to the sidewall aspect ratio of the tire, ratio between tire width and height. The third number 15, represents the diameter, in inches, of the wheel on which the tire is mounted. The system 100 may parse the optically recognized characters to determine the tire size. The system 100 may recommend, and/or generate a list of suitable tires for the vehicle based on the optically recognized characters. Additionally, a user interface of the system 100 may be provide a size of the tire to be selected. Moreover, the system 100 may optically read other markings, characters or text on the vehicle, placards or tires indicating a particular tire size for use with the vehicle.

Referring to FIG. 4, an exemplary application user interface 400 of the system 100 is disclosed. The user interface 400 depicts active automated tire change operations in progress 402, 404, 406 and other scheduled tire change jobs 410, 412, 414. The user interface 400 may receive a selection of an upcoming scheduled appointment, for example a selection of an appointment 410. The user interface in response to the selection may depict vehicle check-in information in a portion of the user interface 420.

The user interface 400 may receive an input of “marked as arrived” for a vehicle via user interface (UI) affordance 422. The user interface 400 may display one or more of the following information: an image of the vehicle, a description of the vehicle, color of the vehicle, whether the vehicle has wheel locks, the license plate of the vehicle.

The user interface 400 may receive an input via UI affordance 424 to contact a person associated with the tire change job. In response to receipt of an input, a device of the system 100 may automatically initiate a call, text message, e-mail or other communication type to the vehicle owner, or person, associated with the tire change job.

The user interface 400 may receive an input via UI affordance 426 to mark the vehicle as a not arriving for a scheduled tire change job. In response to the input, the system 100 updates the database that the vehicle owner, or person, associated with the tire change job has not shown up for the scheduled tire change job. The system 100 may in turn completely cancel the job, thus releasing particular tires from a hold status in inventory to a status of available. Alternatively, the system 100 may send a communication via text message, electronic mail, automated message or other communication indicating that the scheduled appointment was missed, and requesting whether the vehicle owner would like to reschedule the tire change job to another time. The user may then be presented with a user interface allowing a selection of available dates and times for the previous location selected by the user.

Referring to FIG. 5, an exemplary application user interface 500 of the system 100 is disclosed. The system 100 may provide status and other operation information of the robotic apparatus 150, vehicle lifting device 140, tire changing machine 160, and/or the tire balancing machine 170. In this example, portions 510, 520, 530 of the user interface 500 depict status of different tire change jobs in progress. The user interface 500 provides an informative panel of various information, for example process status, error conditions, time to completion of a job, and time that a particular tire change job was started.

In the example user interface, a robotic apparatus 150 is shown as not being able to locate a particular bolt pattern for a wheel. This error condition causes the system 100 to stop the automated wheel removal process and transmit information to the user interface 500 about the error condition. The user interface 500 includes a dynamic portion 540 of the user interface 500 that provides unique UI affordance 542, and real-time photos or video from the robotic apparatus, 544 based on the particular error condition or problem determined by the system 100. Responsive to the particular error of not being able to locate a bolt pattern, the user interface may then provide a manual locate UI button, or trouble shoot UI button to resolve the error condition. The system may use an image of the wheel, and determine the location of the bolt from the image in real-time.

FIG. 6 illustrates an example table for a database 112 of the system 100. This table 600 represents a table that includes information for automating vehicle lifting, vehicle wheel removal/replacement. For example, table 600 may include a unique vehicle identifier, the make of a vehicle, the model of the vehicle, the lug-nut configuration of the vehicle, a vehicle lift height, lifting points coordinates, axle distance. The example table illustrates an embodiment of the General Vehicle Database as described above.

FIG. 7 illustrates various modules 740-760, or processes, that the system 100 may perform. The modules 740-760 may be performed by any number of processors, and by any number of computers. The modules may be executed as software instructions, such as a daemon or service, by a computing device 710 by hardware processor 720. Executable instructions, programs or other code may be stored in a machine-readable storage medium 730. A machine-readable storage medium, such as 730, may include both volatile and nonvolatile, removable and non-removable media, and may be any electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions, data structures, program modules, or other data accessible to processor 720, for example firmware, erasable programmable read-only memory (EPROM), random access memory (RAM), non-volatile random access memory (NVRAM), optical disk, solid state drive (SSD), flash memory chips, and the like. The machine-readable storage medium may be a non-transitory storage medium, where the term “non-transitory” does not encompass transitory propagating signals. The machine-readable storage medium may be encoded with executable instructions and/or program code for performing the methods described herein. While the above describes discrete modules, the modules above may be combined in any manner to perform the methods described herein.

FIG. 8 illustrates an example method 800 for automated wheel removal, tire change, and wheel replacement. In general, the method begins (block 810) with a tire change job being created and scheduled (block 820). The method then checks in a vehicle for a scheduled tire change job (block 830). The method then lifts the vehicle with a vehicle lifting device (block 840). The system 100 determines a lug-nut pattern for the vehicle (block 850). The lug nuts and the wheel are removed using a robotic apparatus (block 860). The removed wheel is positioned to a tire removal and replacement machine where the tire is removed from the wheel, and a new tire placed onto the wheel (block 870). The wheel with the new tire is then placed on a balancing machine and balanced with the application of weights to the wheel (block 880). The wheel is then placed back onto the vehicle, and the lug nuts are replaced using the robotic apparatus (block 890). When all wheels are secured onto the vehicle, then the vehicle is lowered by the vehicle lifting device (block 892).

Job Scheduling

As described in FIG. 7, the system 100 may include module 740 which performs operations for the creation and scheduling of tire change jobs. FIG. 9 and the description below further describe a method 900 for the tire change job creation and scheduling. In general, the method 900 begins (block 910) with the receipt of vehicle identifying information from a user interface (block 920) of the system 100. A user interface of the system 100 receives input for selection of the tire types (block 930). The vehicle information and tire types are stored in a database (block 940). A selection for date and time for a tire change job is selected via the user interface. The tire change job is then scheduled (block 950).

For example, some of the information received via the user interface by the system 100 includes one or more of the following customer information and vehicle information. The customer information may include customer number, address, billing information. The vehicle information may include year, make and model of the vehicle, the vehicle's license plate number, vehicle identification number and color.

The system 100 determines a suggested tire type based on the provided vehicle information. For example, the system 100 may include an inventory determination process that interacts with a database 112 having stored information describing different tires that may fit a vehicle's wheel, and retrievable from the database 112 based on the vehicle year, make and model.

The system 100 determines whether the requested tires are available in inventory. The system 100 may also be communicatively coupled to a remote inventory system, such as a system of a tire supplier, distributor, reseller or manufacturer. The system 100 may search the remote inventory system to also determined tire availability, and place orders for tires. Optionally, the system 100 may determine if the required tires are not available in inventory, and automatically places an order for the required tires. The system 100 may determine a date when the required tires will be received at a physical location. The system 100 may determine a tire change job based on the availability of the requested tires and schedule a tire change job when the tires will be received at the physical location. The date of the tire change job is provided to the user via one or more communications methods, such as via a user interface, an e-mail message, SMS message, a social media application, or otherwise. The user interface may show dates where the tires can be delivered to inventory for a tire change job.

Inventory. When the ordered tires are physically received, the tires are either scanned if the tire has a bar code, and the system 100 updates the tire inventory with an updated quantity for that tire type, and/or the system 100 receives a manual input that updates the quantity for the respective tire type. Each of the type of tires may have an associated stock keeping unit (SKU) for inventory management purposes.

Ideally, the tires are stored in a physical location where a robotic tire retrieval apparatus may obtain them. The system 100 may store information about a physical location of the tires in inventory. For example, the system 100 may store bin data with row and column positions of where a tire is located. The robotic tire retrieval apparatus may be instructed by the system 100 to retrieve a particular tire based on a tire retrieval event. As discussed below, a tire retrieval event may be, for example, a vehicle check-in event when the system 100 determines that a vehicle has arrived for a scheduled tire change job.

The system 100 identifies the tires as being dedicated to a particular tire change job and update the database 112 to reflect a status indicating the tires are reserved. The system 100 may include other marking apparatus or devices to temporarily mark a tire as reserved. When tires are received or delivered to a physical location, if received tires when scanned in for inventory are identified as being required for a particular job, then the system 100, may use a marking or printing device, to mark or print on the tire a code or alphanumeric designation for the particular tire change job. If a tire change job is canceled as discussed below, then the system 100, may locate the physical tire and remove the tire change job identifier from the tire.

Reminders. The system 100 may generate reminders and send them to a particular user associated with a tire change job. The reminders may be sent to the user, for example, two days before the scheduled tire change job. The system 100 then may receive a confirmation that the user will attend the scheduled tire change job. If the system does not receive a confirmation, then the system 100 may send an electronic notification to the user indicating that the tire change job has been canceled. If a tire change job has been canceled, then the system 100 releases the particular required tires to available inventory by updating the Inventory Database.

Vehicle Check-in

A vehicle arrives at a physical location for a scheduled tire change job. The physical location ideally is a structure with one or more bays where a vehicle may enter the bay for replacement of the tires.

As described in FIG. 7, the system 100 may include module 742 which performs operations for checking in a vehicle for a scheduled tire change job. FIG. 10 and the description below further describes a method 1000 for checking in a vehicle for a scheduled tire change job. In general, the method 1000 begins (block 1010) with the receipt of an indication of arrival of a vehicle (block 1020). For example, via receipt of an input via a user interface of the system 100, and/or an automated detection of the arrival of a vehicle. The system 100 optionally obtains image information describing the vehicle (block 1030). For example, digital images of the wheels may be taken by a mobile device and submitted to the system 100.

The system 100 receives a vehicle check-in indication. The system 100 may receive information about the arrival of the vehicle through automated processing, partially-automated processing, or by receipt of manually input information via a user interface of the system 100. The physical location may have one or more cameras that obtain images of arriving vehicles. Optionally, a mobile device may be used to obtain images of the vehicle. The system 100 receives images of the vehicle and determines if the vehicle is a vehicle slated for a scheduled tire change job. For example, the system 100 may use computer vision techniques to identify, the color, size, license plate number, or other characteristics of the vehicle. The system 100 may determine there is a color match, license plate match, vehicle size match, etc. The system 100 may determine a confidence level or value that the observed vehicle is likely the vehicle scheduled for a tire change job, and if the confidence level is met or exceeded, then the system 100 performs a vehicle check-in event.

In response, to checking in a vehicle, the system 100 initiates retrieval, via a tire retrieval apparatus, to pull the specific tires from inventory based on the tire change job information. The check-in of the vehicle may initiate a vehicle check-in event causing the system 100 to direct a robotic tire retrieval apparatus to retrieve from a stored location, the required tires for the scheduled tire change job. For example, the check-in event causes the system 100 to instruct a tire retrieval robotic apparatus to obtain the particular tires for the tire change job. As discussed above, the tires may have been marked with a code or alphanumeric designator. The system 100 may confirm the retrieved code is correct when the tire retrieval robotic apparatus retrieves the tire.

Also, the system 100 may before the vehicle is checked in, initiate retrieval of tires from inventory prior to the vehicle's arrival for a scheduled tire change job. For example, the system 100 may determine a time for the performance of a tire change job. The system 100 may initiate retrieval of the tires based on a predetermined time amount, such as x minutes prior to the scheduled tire change job. For example, if a tire change job is scheduled for 2:00 p.m. on a particular date. On the particular date, the system 100 may initiate retrieval of the tires 30 minutes, or some other time period, prior to the scheduled tire change job.

Additionally, location information of the particular tires needed for the tire change job may be displayed via a user interface, thus allowing manual retrieval of the tires from an inventory location. Lastly, the vehicle check-in process may include confirmation for check list items (block 1050) to be completed. For example, a user interface of the system 100 may present a dynamic set of items that should be confirmed or validated by a user. For example, the user interface may present confirmation items, especially for aspects of the process that may need to be performed manually:

-   -   a. Are all hub caps removed?     -   b. Are all tire valve caps removed?     -   c. Do any of the wheels have wheel locks?     -   d. Are there any missing lug nuts?

Once the check list items have been marked as completed, the system 100 may initiate the check-in event. In addition to causing the retrieval of the tires, the check-in event may cause the robotic apparatus 150 and/or the vehicle lifting device 140 to perform preparatory operations, and/or move into an initial position. For example, in response to the check-in event, the vehicle lifting 140 device may activate sensors and maneuver portions of the vehicle lifting device to positions for the particular vehicle being checked-in, such as moving lifting sections of the vehicle lifting device 140 to locations for lifting points of the check-in vehicle in advance of the vehicle moving over the vehicle lifting device. Also, in response to the check-in event, the robotic apparatus 150 may activate sensors, and/or select an appropriate socket based on the size of lug nut for the particular vehicle as determined by the system 100 from a general vehicle database, or as determined from an input from a user interface used to check-in the vehicle. Additionally, the robotic apparatus 150 may move into a location suitable for the lug nut and wheel removal operation. For example, if two robotic apparatus 150 are used on one side of a vehicle, the system may move the robotic apparatus to positions based on the axle distance obtained from the general vehicle database for the particular vehicle.

Wheel Assessment. During the vehicle check-in, or later in the process during wheel removal operations, images of each of the wheels and tires may be obtained the system 100. Additionally, as previously discussed images of the wheels and tires may be obtained by a user interface of the system 100 via a mobile application. The obtained images may be analyzed by the system 100. The system 100 receives the images and stores them in a database 112 and associates the images to the particular scheduled tire change job. An image may be associated with the location of the vehicle of where the image was taken, for example a first image may be designated front left side, a second image may be designated left rear side, a third image may be designated right front side, and a fourth image may be designated right rear side. The system 100 may analyze the images and determine whether the wheels are suitable for automated wheel removal and may also determine whether the wheel has any pre-existing damage. For example, the system 100 may analyze an image to detect anomalies in the wheel that indicates damage, or that the wheel is covered in dirt or grime. If these anomalies are detected, the system 100 may indicate the particular wheel or vehicle is not suitable for automated wheel removal. A user interface of the system 100 may display an indication that a particular wheel is not suitable for wheel removal operations.

Vehicle Lifting

As described in FIG. 7, the system 100 may include module 744 which performs the method of lifting a vehicle with a vehicle lifting device. FIG. 11 and the description below further describes a method 1100 of lifting a vehicle with a vehicle lifting device. Various embodiments of vehicle lifting devices are described herein. In general, the method 1100 begins (block 1110) with the vehicle lifting device 140 determining vehicle lifting points (block 1120). The vehicle lifting device 140 positions lifting arms and connects with vehicle lifting points (block 1130). The vehicle lifting device 140 lifts the vehicle to a desired height (block 1140). The vehicle lifting device 140 determines the tires are lifted off of the ground (block 1150). After the tire change job is completed, the vehicle lifting device 140 lowers the vehicle (block 1160) back to the ground.

The vehicle is maneuvered over the vehicle lifting device 140. In certain embodiments, the vehicle lifting device 140 is affixed to the ground, or alternatively the vehicle lifting device 140 may be mobile and moved under a stationary vehicle. The vehicle lifting device 140 is communicatively coupled to the system 100. The actuation of the vehicle lifting device may be mechanical, pneumatic, hydraulic or electric. In one embodiment, the vehicle lifting device 140 has articulating arms with lifting sections that contact lifting points of an undercarriage of a vehicle. The vehicle lifting device 140 has at least two lifting sections that are maneuvered to vehicle lifting points.

The system 100 determines the location of the vehicle lifting points. The vehicle lifting device 140 is operatively connected to the system 100. The system 100 stores vehicle lifting point locations for multiple vehicles, for example, a general vehicle database 112 may include locations of where the lifting sections should be placed. The database 112 may store the locations, for example as dimensional coordinate positions 100. The system 100 instructs the lifting sections of the vehicle lifting device 140 to maneuver to lifting locations. The system 100 may identify the vehicle lifting points of the vehicle using computer vision, and obtain images describing the undercarriage of the vehicle. The system may recognize or determine suitable locations under the vehicle, and identify the locations as vehicle lifting points.

In certain cases, the general vehicle database may not have lifting locations for a particular type of vehicle. In this case, the vehicle lifting device 140 is placed into an observation mode, where sensors coupled to the lifting sections obtain information about the undercarriage. In one embodiment, the arms move to a first location, and then perform an articulating or sweeping motion when the system 100 monitors for a suitable lifting point. Once found, the system 100 stores dimensional information about the lifting points and associates the lifting point dimensions with the particular, year, make and model of the vehicle. In this manner, the system 100 may later use the lifting point locations for similar vehicles.

In another embodiment, the system 100 may obtain digital images, such as live streaming video, via cameras coupled to the arms of the vehicle lifting device 140. The video may be displayed via a user interface where an operator may instruct, via the interface, movement of one or more arms to a lifting location. The system 100 may receive confirmation via user input that the arms have been positioned, and in response to the input the arms of the vehicle lifting device 140 may be locked into place. The system 100 may store dimensional information about the lifting points and associate the dimensional information with the particular, year, make and model of the vehicle. In this manner, the system 100 may later use the lifting locations for similar vehicles.

Once the arms and lifting sections are maneuvered into place, the system 100 instructs the vehicle lifting device 140 to lift the vehicle vertically. The lifting section of the vehicle lifting device 140 then physically connects with the lifting points of the vehicle. The system 100 then continues actuating the lifting section of the vehicle lifting device to cause vertical movement of the vehicle. The vehicle lifting device 140 stops at a predetermined height. A user interface may receive operator input and the system 100 may incrementally move the vehicle lifting device upwards or downwards. Additionally, the user interface includes a manual override input to stop movement of the vehicle lifting device 140. If the manual override input is received, then the system 100 causes the vehicle lifting device 140 to immediately stop.

The system 100 may use sensors to obtain information about whether the vehicle tires have been lifted off of the ground. For example, light detection, proximity sensors, digital cameras, or other sensors may obtain information. The system 100 then determines if there is a threshold level of spacing between a tire and the ground. Once a certain threshold distance of the tires from the ground is achieved, then the system 100 stops the vehicle lifting device 140.

Additionally, the general vehicle database may include lifting height information. The lifting height information is used by the system 100 to instruct the vehicle lifting device 140 to move the lifting sections to a desired height level. The system 100 may retrieve the lifting height information and direct the vehicle lifting device 140 to lift the vehicle to a desired height.

Lug-Nut and Wheel Removal

As described in FIG. 7, the system 100 may include module 746 for performing operations of removing a wheel from a vehicle. FIG. 12 illustrates a method 1200 for automated lug-nut and wheel removal. The method begins (block 1210) with the system 100 determining the lug-nut pattern for a wheel (block 1220). The system 100 determines the physical geometry of the wheel of a vehicle (block 1230). The system 100 then removes using a robotic apparatus the lug-nuts from the wheel (block 1240). The system 100 then removes the wheel from the vehicle (block 1250).

Before, during or after lifting of the vehicle, the system 100 may direct the robotic apparatus into a first wheel removal position. Depending on the configuration of the robotic apparatus 150, if a mobile robotic apparatus such as one attached to rail guide, the body of the robotic apparatus and articulating components all move to the first wheel removal position. If the robotic apparatus is affixed to the ground, then the tooling head of the robotic apparatus is moved into a first wheel removal position. Setting the robotic apparatus, and/or the tooling head, to the first wheel removal position places the robotic apparatus in proximity to a wheel of the vehicle, thereby allowing the robotic apparatus to perform a wheel removal procedure.

The system 100 may detect if the lug nuts have locks. The system 100 may detect a pattern on the surface of a lug nut by analyzing an image and determining that the lug nut may have a lock. The particular lug nut lock pattern may be associated in the general vehicle database with a required robotic tool attachment. For removal of a locked lug nut, the robotic apparatus may have specialized keyed sockets that are used to remove the locked lug nut.

The system 100 determines a lug-nut pattern for the wheel. The lug-nut pattern may be obtained from the database as associated to a particular year, make and model of the vehicle. The system 100 may have stored in the database 112 associated dimensional information about the lug-nut pattern which the system 100 uses to move one or more torque wrenches coupled to the robotic apparatus 150 for removal and replacement of lug nuts.

Additionally, the robotic apparatus 150 (i.e., the system 100) may determine a physical geometry of the wheel as to the tooling head of the robotic apparatus. The robotic apparatus for example may have lasers or other types of sensors that the robotic apparatus 150 may use to determine distances, and/or proximity, of the robotic apparatus to a vehicle's wheel. The robotic apparatus 150 may determine a plane and/or orientation of the vehicle's wheel in a three-dimensional space. While distance sensors may be used, additionally an obtained 3-D point cloud from LiDAR sensors, or a stereo vision system for 3-dimensional depth perception may be used. Determining an orientation or plane of the wheel assists the robotic apparatus in determining proper alignment of a socket when being placed onto a lug nut. If the plane of the wheel is determined, then the robotic apparatus can move linearly in a perpendicular fashion toward the wheel. The system 100 may then maintain the socket in a 90 degree orientation to the wheel as the socket is moved towards the wheel by the robotic apparatus 150. If the socket orientation to the plane of the wheel is off by a few degrees, then the socket may not properly seat onto a lug nut. Moreover, the system 100 may determine a plane of a wheel and maneuver a tire gripper mechanism in a perpendicular direction to and from the plane of the wheel to grip the tire.

Additionally, the system 100 may obtain video images, or a series of images, from a digital camera depicting the vehicle in motion. The system 100 may analyze one or more wheels depicted in the images, and compute a plane of the wheels. The plane of the wheel in multiple images may be analyzed to determine whether the wheels if the alignment of the is off canter, or off angle from a normal angle. The system 100 then may record the wheel as needing alignment.

Additionally, the system 100 may determine a lug nut pattern via computer vision processing where a digital image of the wheel is obtained. The system 100 processes obtained images using object detection techniques to identify lug nuts in the image of the wheel. The system 100 can determine based on the number of lug nut objects detected, the type of lug nut pattern (i.e., 4, 5, 6 or 8-lug nut pattern). The system 100 may also calculate the centroid of the lug nuts, and the spatial dimensions for each of the lug nuts.

The system 100 may then use the determined lug-nut pattern, and/or the determined physical geometry of the wheel to maneuver the robotic apparatus tooling head from one location to another location to place one or more sockets onto a respective lug nut.

The robotic apparatus can dynamically adjust between removal of lug nuts for a 4-lug nut configuration, a 5-lug nut configuration, or a 6-lug nut configuration. This dynamic aspect of the system 100 is quite different from an unchanging system that has a fixed-known configuration. Additionally, even within a particular lug nut configuration, for example a 5-lug nut pattern, the spacing of the lug nuts are variable among different vehicles.

The system 100 addresses this variability by multiple means. For example, based on the particular vehicle information, the General Vehicle Database may store the type (4, 5, 6, or 8-lug nut pattern), and the dimensional spacing of the lug nuts. Once a first lug nut position is located on the wheel, then the system 100 may calculate or determine the position of the remaining lug nuts of the wheel and maneuver the robotic arm accordingly.

Socket Selection

The robotic apparatus 150 may use or be fitted with one or more sockets for the removal of lug nuts. The sockets may be detachably affixed to a torque wrench end of the robotic apparatus 150. The system 100 may determine a socket size to be used to remove a lug nut from a wheel. The determination of the size of a lug nut may be performed through a computer vision process where an image of a wheel is obtained, and the system processes the image, and detects a size of the lug nut. Based on the determined size of the lug nut, the system 100 would instruct the robotic apparatus 150 to pick the appropriate socket size for the lug nut.

Additionally, a user interface of the system 100 may allow for a selection of a lug nut size. For example, the system 100 would receive a user input for the size of the socket needed to remove the lug nut. In response to the selection, the robotic apparatus would choose the selected socket size. For example, the user interface may display information for different socket sizes. The user interface would receive an input for a desired socket size to be used to remove the lug nuts from the wheel.

As discussed previously, a user of the system may input their vehicle information for a tire change job. Based on the vehicle information, such as make, model, and year, the system 100 may have stored for retrieval in the database 112, such as the general vehicle database, a particular socket size that is typically used for the particular vehicle associated with the vehicle information. When removing a lug nut, the system 100 may search for a stored data value for a socket size to be used, and then the system 100 may direct the robotic apparatus 150 to select or use a socket based on the data value for the socket size.

The robotic apparatus 150 may select or be fitted with different socket sizes. In one example, the robotic apparatus chooses from 6 different socket sizes, 3 metric sizes (17 mm, 19 mm, 21 mm) and 3 standard size (¾″, 13/16″, ⅞″). The robotic apparatus 150 may have a tray or compartment where the group of sockets may be stored, and the selected socket may be attached to the torque wrench of the tooling end of the robotic apparatus 150.

Additionally, based on the vehicle information, the system 100 may choose from the group of 3 metric sockets, or choose from the group of 3 standard size sockets for removal of the vehicle's lug nuts. For example, if the make of the vehicle is a Ford and the model is an Explorer, the database 112 may identify the vehicle as using standard size sockets, and accordingly select from among the 3 standard size sockets to remove the lug nuts from the wheel.

Sometimes a socket may have been selected that is either too large, or too small for the lug nut. The system 100 may detect this error condition. For example, the robotic apparatus 150 may maneuver to position a socket over a lug nut. The socket if too small would not fit over the lug nut (i.e., the wrong size of socket was selected). The robotic apparatus 150 may have a feedback sensor, and may determine that the robotic arm cannot move in the direction of the lug nut and place the lug nut onto the socket. The system 100 may determine that an error condition has occurred. The error condition may be displayed via a user interface 100. When the error condition is determined, then the robotic apparatus may pull the robotic arm back away from the lug nut. A larger socket size may be chosen by the robotic apparatus. For example, if the system 100 originally selected a 17 mm socket from the metric group of sockets, the system 100 may then select the next socket size which may be a 19 mm socket. If the system 100 originally selected a 19 mm socket from the metric group of sockets, the system 100 may then select the next socket size which may be a 21 mm socket. Likewise, if the system originally selected from one of the standard sized sockets, the system would choose the next standard size socket.

In the example of too large of a socket being selected, the socket when placed over the lug nut may impinge upon the wheel. In other words, similar to the case of too small of a socket, the socket may contact the wheel and would not be able to be placed over the socket by the robotic apparatus 150. Using a feedback sensor of the robotic apparatus 150, the system 100 may detect this error condition. The error condition may be displayed via a user interface of the system 100. When the error condition is determined by the system 100 then the robotic apparatus may pull the robotic arm back away from the lug nut. Similar to the example above of choosing another socket sizer, in this example, the system would then select then next smaller socket.

In another example of too large of a socket being selected, the socket may actually fit over the lug nut. However, when the robotic apparatus begins to torque the lug nut with the socket, the socket may not have any resistance from the lug nut or contact the lug nut, and the socket would spin around the lug nut. The system 100 may detect this as an error condition, and may display the error via a user interface of the system 100. When the error condition is determined by the system 100, then the robotic apparatus 150 may pull the robotic arm back away from the lug nut. The system 100 may determine that the socket size was too large due to the spinning of the socket, and the robotic apparatus may choose a smaller socket size.

The user interface of the system 100 may receive an input to resume the removal of the lug nuts. Additionally, in certain situations, an operator may have to manually place a particular socket onto the torque wrench of the robotic apparatus.

The system 100 also may need to slowly rotate the socket when the socket is being placed over a lug nut. For example, the system 100 may direct the robotic apparatus 150 to slowly rotate the socket in either a clockwise or counterclockwise rotational movement. The rotation of the socket may be performed in discrete rotational distances, for example in a range of 0.1 to 10 mm (0.0003937 to 0.3937 inches). Rotating the socket may allow the socket to be seated over a lug nut if the socket is initially positioned in a way where the internal walls of the socket are misaligned with the side walls of the lug nut. As the socket is being rotated, the robotic apparatus 150 may apply a linear movement towards the lug nut to try to seat the socket. Once the system 100 detects that the socket is moving over the lug nut, then the system 100 may stop the rotation of the socket.

When a socket has been positioned onto a lug nut, the socket begins rotation in a counterclockwise manner to remove the lug nut. The robotic apparatus may include a torque sensor to receive a value for the torque applied to the lug nut. The torque value may be monitored by the system 100 to determine if the value remains within a threshold torque range. If the torque exceeds this value, then possibly the lug nut is frozen onto the wheel hub bolt. The robotic apparatus 150 may cease rotation of the socket and the wheel vehicle operation if this occurs. The system 100 may generate an exception message via a user interface for review by an operator. At this point, possible manual inspection of the bolt may be warranted. Operational exceptions indicating an error, or out of range exception, may be presented via a user interface of the system 100.

Once a lug nut is removed the lug nut is placed by the robotic apparatus 150 individually into a receiving bin, or some other predetermined storage location. The receiving bin may have a sensor, such as a pressure sensor, switch, magnetic sensor, or optical sensor. The bin sensor is communicatively coupled to the system 100. The system 100 records that a lug nut has been placed into a bin. The first bin may correspond to the first lug nut removed, the second bin may correspond to the second lug nut removed and so forth. While the lug nuts could be placed in some other open location and the location position record, the bins provide a secure container to hold the lug nuts. A priori, the bin locations are known to the system 100 allowing the robotic apparatus to place the lug nuts into the bins. Additionally, by having ordered bins, the system 100 may selectively choose the order to replace the lug nuts, for example from 1,2,3,4,5 (if five lug nuts), or from 5,4,3,2,1. The lug nuts may be replaced in the same order they were removed, or in the reverse order they were removed, or in some other combination.

The bins may include some type of solvent or other solution that may clean the lug nuts or reduce friction to assist in the reapplication of the lug nuts to the wheel hub bolts.

In one embodiment, the robotic apparatus 150 includes a mechanism for insertion into the lug nut holes of the wheel. For example, the robotic apparatus 150 inserts one or more longitudinal fingers into the holes of the wheel where the lug nuts were removed. The robotic apparatus 150 may place the longitudinal fingers into the lug nut holes and then either move the fingers outwardly toward the tire and/or inwardly toward the center of the wheel, or in some other direction, to seat or mate the longitudinal fingers against the interior surface of the lug nut holes of the wheel. The longitudinal fingers may be coated, or made from a rubber, plastic or other material that avoids damage to the wheel. Additionally, the longitudinal fingers may have integrated pressure sensors that generate pressure data values that are provided to the system 100. The system 100 may monitor the pressure data values and when a threshold pressure data value is achieved, the system 100 would cease the outwardly, or inwardly movement of the longitudinal fingers. Once the longitudinal fingers are seated, then the system 100 directs the robotic apparatus 150 to pull the wheel away from the wheel hub of the vehicle.

In another embodiment to remove the wheel from the vehicle, the robotic apparatus 150 includes a tire gripper to hold the tire while the lug nuts are removed. The tire grippers are maneuvered by the robotic apparatus as controlled by the system 100 into a position where gripping arms may contact a tire, for example the tread of the tire. The robotic apparatus 150 may use sensors, such as a computer vision system, to detect the perimeter of the tire, and guide the gripping arms onto the tire. The system 100 may determine a width value of the tire, and place the gripping arms at locations around the tread portion of the tire to grip the tire at the maximum width of the tire. For example, determining a width value of the tire may be based on a retrieved tire width value associated with the vehicle as stored in a database 112 of the system 100, as determined by sensors of the robotic apparatus 150, as determined by computer vision process performed on obtained images of the wheel and tire by the system, or by other means. When positioned around the tire, the system 100 directs the gripping arms of the robotic apparatus 150 to open between 1.27 mm to 254 mm (0.5 to 10 inches) greater than the determined width value of the tire. Once positioned into place around the tire, the system 100 actuates the gripping arms to close together against the tread of the tire. The gripping arms apply a mechanical gripping force to the tire. The gripping arms may have feedback sensors to determine the force being applied to the tires. The system 100 positions the gripping arms to a determined, or desired gripping force value.

In different embodiments, the gripping of a tire may be done before lug nuts are removed, during lug nut removal, or after lug nut removal. Gripping the tire before lug nut removal helps secure the tire in place to avoid rotation of the tire while the lug nuts are removed.

Once the lug nuts are removed, then the robotic apparatus 150 pulls the wheel from the vehicle wheel hub. The robotic apparatus 150 may include bolt guides that are positioned onto one or more bolts by the robotic apparatus 150. Since the system 100 has already identified the physical location of the lug nuts, after the lug nuts are removed, the robotic apparatus 150 may place a guide or sleeve over a bolt. Doing so, assists in the avoidance of damage to the threads of a bolt. For example, the weight of the wheel and tire may rest on the bolt. When the wheel is removed, the weight against the bolt may cause damage to the bolt as the wheel is pulled from the vehicle. The guide or sleeve may help carry the weight of the wheel and avoid direct contact to a bolt.

Once the wheel is removed, the robotic apparatus 150 may perform an inspection and obtain images of the brake pads and/or the wheel hub and rotor. The system 100 may then perform processing on the images to detect anomalies of the brake pads, the wheel hub and rotor. For example, the system 100 may identify a brake pad and determine that the brake pad width is of a certain dimension or thickness. The system 100 may determine that a brake pad needs replacement by determining the brake pad thickness from an image is within threshold thickness rage. The system 100 may then identify the brake pad as requiring service. The images may be stored by the system 100 in the database 112, and associated with the vehicle undergoing the tire change job. The system 100 may report via a user interface that a brake pad should be replaced. Additionally, the system may generate a report identifying the brake pad, and the particular thickness value determined by the system 100.

After removing a first wheel, the robotic apparatus then proceeds to a second position to remove a second wheel. The robotic apparatus may be directed to move to a specified distance based on retrieved data specifying a distance value, the data being retrieved from the database 112. For example, the general vehicle database may store a value for the axle distance between a front and rear axle of a vehicle. The system 100 retrieves this information and maneuvers the robotic apparatus 150 a linear distance according to the axle distance between the front and rear axle. This allows the robotic apparatus 150 to move to the location of the next wheel on the same side of the vehicle.

Tire Removal and Mounting

The system 100 instructs the robotic apparatus to hand off the removed wheel to a location for tire removal. The wheel is placed onto a mount of a tire removal machine. The system 100 may provide inflation parameters to the tire removing machine, such as a desired air pressure, type of gas such as nitrogen or air. Once the tire is secured onto the tire removal machine, the tire removal machine is initiated. The tire is removed, and a new tire is placed onto the wheel. The tire is then inflated to the desired air pressure that the tire removal machine received from the system 100.

As described in FIG. 7, the system 100 may include module 748 for performing operations of tire removal and tire mounting. FIG. 13 illustrates a method 1300 for tire removal and replacement. The method 1300 begins (block 1310) with the system 100 sending parameter to a tire removal machine (block 1320). The system 100 may then send instructions to the tire removal machine to initiate removal of a tire from a wheel (block 1330). A new tire that was pulled from inventory for the specific vehicle being serviced is set onto the wheel (block 1340). Gas is applied to the tire according to the parameters (block 1350).

The tire removal machine may have an integral tire feeder configured to receive multiple tires. As described previously, a robotic tire retrieval apparatus may retrieve specific tires associated with a particular tire change job. The system 100 may direct the robotic tire retrieval apparatus to retrieve required tires and move them from an inventory staging location to a tire changing location. A tire changing machine may be fitted with a feeder adapted to receive the tires from the robotic tire retrieval apparatus.

The robotic apparatus 150 and/or the tire changing machine 160 may include a tire deflation/inflation apparatus or subsystem. For example, the system 100 may detect the position of a tire valve stem on the wheel. Sensors may detect the location of the valve stem, for example through computer vision, or other processes. The deflation/inflation apparatus is positioned over the tire valve stem of the wheel. The deflation/inflation apparatus may determine whether the valve cap has been removed. If the valve cap has not been removed, then the deflation/inflation apparatus may unscrew the valve cap and hold the cap until a new tire has been mounted. If the system 100 determines the valve cap has been removed, the deflation/inflation apparatus places a deflation mechanism onto the valve stem. The system 100 may actuate the deflation/inflation mechanism which inserts a pin, rod or ball valve and presses against the valve stem core to release gas or air from the tire. The deflation/inflation apparatus may have a pressure monitor, and the system 100 may monitor the air pressure and cease deflation of the tire when the pressure is within a pressure range of 0 kPa to 103.42 kPa (0 to 15 psi). Once deflation has ceased, the system 100 directs the deflation/inflation apparatus to move away from the tire so that the old tire may be removed by the tire removal machine 160, and a new tire mounted.

For inflation of the newly mounted tire, the deflation/inflation apparatus may be positioned by the system 100 onto the valve stem. The system 100 may actuate a deflation/inflation mechanism to press against the valve stem core. The system 100 may cause the deflation/inflation apparatus then to discharge a gas into the valve stem. The system 100 may monitor the pressure of the gas in the tire, and cease inflation of the tire when the monitored pressure has reached a desired psi value. The type of gas may be automatically selected from a parameter value from the database 112 as associated to the tire change job, vehicle type and/or tire type. The inflation pressure may be based on a parameter value from the database 112 as associated to the tire change job, vehicle type and/or tire type. The system 100 may store the value of the psi as applied to the new tire, and store associate the psi value with the tire change job and/or a particular customer vehicle in database 112. Once the tire is inflated to a desired psi, then the deflation/inflation apparatus may screw a cap onto the tire stem valve.

Tire and Wheel Balancing

As described in FIG. 7, the system 100 may include module 750 for performing operations of tire and wheel balancing. FIG. 14 illustrates a method 1400 for tire and wheel balancing. The method 1400 begins (block 1410) with the system 100 directing an apparatus to remove weights from a wheel (block 1420). A tire balancing machine then spins the wheel and tire and determines a location on the wheel for placement of weights (block 1430). Based on the determined location for placement of the weight, a dispensing apparatus applies weights to the wheel (block 1440). An example dispensing apparatus may dispense segmented rectangular weights. The dispensing apparatus is operatively coupled to the tire balancing machine, and/or the system 100. The dispensing apparatus receives an input identifying the amount of weight, and/or the location of where to apply the weight that is needed to balance the wheel and the tire. The dispensing apparatus dispenses the needed amount of weight. The dispensed weights may have an adhesive coating on one side of the weight. The weight may be applied to the wheel by the dispensing apparatus and adhesively affixed to the wheel.

Replace Wheel and Lug Nuts

As described in FIG. 7, the system 100 may include module 752 for performing operations of mounting a wheel. FIG. 15 illustrates a method 1500 for mounting a wheel onto a wheel hub. The system 100 begins (block 1510) determines a bolt pattern orientation of a wheel hub (block 1520). The system rotates a wheel held by a gripping device of the robotic apparatus (block 1530). The system 100 directs the robotic apparatus 150 to place the wheel against the wheel hub (block 1540). The system 100 directs the robotic apparatus to replace lug nuts onto the wheel (block 1550) and then the method ends (block 1560).

After a new tire has been placed onto a wheel and the wheel balanced, the system 100 may receive an indication from the wheel balancing machine, or from a user interface of the system 100, that the wheel is ready for placement back onto the vehicle.

The system 100 may keep track of the wheel position from where the wheel was removed. For example, the wheel may have been removed from the right front, the right rear, the left front or the left rear. Additionally, the user interface may receive an input as to what side of the vehicle the wheel should be mounted, for example left front, left rear, right front or right rear.

In response to receipt of the wheel readiness indication from the wheel balancing machine, and/or the received location of where the wheel should be mounted via the user interface, the system 100 initiates the robotic apparatus 150 to pick up the wheel with the tire gripper, and mount the wheel to the designated location.

When the robotic apparatus 150 picks up the wheel for remounting, the robotic apparatus may detect the orientation of the bolt holes of the wheel. The robotic apparatus may detect the bolt holes through sensors, and/or attached digital camera where images of the wheel are taken by the system 100, and the geometry of the wheel is determined. The system 100 may register the circumferential location of where the wheel is picked up by the tire gripper. In other words, the system would know the geometry of the wheel, and where the robotic arm has gripped the wheel.

In addition to detecting the wheel geometry, the system 100 may identify the rotational direction of the tire mounted on the wheel. Certain tires have a rotational direction that requires the wheel to be mounted on a left or right side of the vehicle, such that the tire rotates in the direction of the arrow. The system 100 may detect in an image, a rotational indicator, such as an arrow shown on the sidewall of the tire, or some fiducial marker, such as a sticker of some shape, color or printed pattern. Based on the rotational indicator, the system 100 would only mount the wheel on to the correct side of the vehicle such that the wheel, once mounted rotates in the indicated direction of the arrow.

Additionally, a user interface of the system 100 may receive an input designating the rotation direction for a wheel that is ready to be mounted to the vehicle. The system 100 would only mount the wheel on a side of the vehicle where the wheel would rotate in the designated rotational direction once mounted.

The robotic apparatus 150 may detect the orientation of the bolts of the wheel hub, and axially rotate the wheel to align the bolt holes of the wheel with the bolts of the wheel hub. The robotic apparatus may detect the orientation of the bolts through sensors, and/or attached digital camera where images of the wheel hub are taken by the system 100, and the geometry of the wheel hub is determined.

As the system 100, knows the wheel hub geometry and the wheel geometry, the robotic apparatus 150 may axially rotate, shift and/or position the wheel to align the wheel holes of the wheel to the bolts of the wheel hub. The system 100 may direct the robotic apparatus 150 to make slight correction movements to move the wheel in any direction while mounting the wheel against the wheel hub.

The robotic apparatus 150 seats the wheel against the wheel hub. Once the wheel is seated against the wheel hub, the robotic apparatus begins placing the lug nuts back onto the wheel.

The robotic arm picks up a lug nut from its respective bin, or other holding location of the lug nut. As indicated previously, the lug nut may be associated with a particular lug nut position. In one example, the lug nut may then may be placed onto the corresponding bolt from which it was removed. In another example, the lug nut may be placed onto any one of the lug nut bolts.

In one embodiment, the lug nuts are placed onto the wheel hub in a sequentially alternating pattern. Each of the bolts are torqued to a first torque value, for example 33.90 Nm (25 ft-lbs) to set the wheel in place against the wheel hub, or rotor. Then the robotic apparatus 150 arm moves to each lug nut, and then sequentially tightens each lug nut to a desired final torque value, for example 90 ft-lbs.

The robotic apparatus 150 arm may be fitted with a multi-socket head torque wrench, such as 2, 3, 4, 5, 6 or 8 socket head. In this case, the wheel lug nuts may be placed onto the bolts in a parallel, or simultaneous fashion. With this configuration, the lug nuts may all be torqued together to the final torque value. Multiple lug nuts may be held by the robotic apparatus 150, and then concurrently replaced onto lug nut bolts. For example, the robotic apparatus 150 may be configured to concurrently torque multiple lug nuts. The robotic apparatus 150 could replace all of the lug nuts at the same time. If the bolt pattern is a 4, 6 or 8 bolt pattern, a 2-socket head torque wrench could replace two lug nuts at opposing lug nut bolts, and the robotic apparatus 150 could rotate the 2-socket head torque wrench to replace the next set of lug nuts at opposing lug nut bolts. For a 5 bolt pattern, the 2-socket head torque wrench may apply the lug nuts using just one of the torque wrenches.

The robotic apparatus 150 begins rotation of a lug nut with a socket in a clockwise manner to replace the lug nut. The robotic apparatus 150 may include a torque sensor to receive a torque value for the torque applied to the lug nut. The system 100 monitors the torque value to determine if the torque value remains within a threshold torque value range. If the torque value exceeds the torque value range, then possibly the lug nut is being cross-threaded onto the wheel hub bolt. The robotic apparatus 150 may cease the operation if the threshold torque value range is exceeded. The system 100 may then generate an exception message for review by an operator via a user interface of the system 100. The message may indicate that a manual inspection of the bolt be performed.

After a wheel has been mounted, the robotic apparatus 150 may obtain an image of the wheel. The system 100 may store the image in the database 112, and associate the image with the tire change job.

Once all of the wheels are mounted back onto the vehicle, the system 100 will determine a job completion status. The job completion status may be initiated by the system 100 when robotic apparatus has mounted each wheel to the vehicle, and replaced the lug nuts. Additionally, a user interface input may allow a user to set a status that the tire change job has been completed. In response to the job completion status, the system 100 instructs the vehicle lifting device 140 to lower the vehicle to the ground. As a safety precaution, while lowering the vehicle to the ground, the vehicle lifting device 140 may scan using distance sensors, the area below the vehicle, and/or around the vehicle lifting device to determine if any obstructions are detected. If an obstruction is detected, then the system 100 causes the vehicle lifting device to cease lowering the vehicle, and an error condition identifying the problem may be presented to a user interface of the system 100. For example, the vehicle lifting device 140 may use proximity sensors, LiDAR, computer vision to detect the proximity of objects that may be near the vehicle lifting device.

Vehicle Lifting Device

Different embodiments of vehicle lifting devices are now disclosed. Referring to FIG. 16, one embodiment of an example vehicle lifting device 1600 is disclosed. The vehicle lifting device 1600 (referred to in FIG. 1 as 140) is comprised of one main center beam 1602 with independent lifting arm (either two or four) with lifting jacks 1610, 1612, 1614, 1616 (for example, pneumatic, hydraulic, or electric actuated jacks). At the front of the lift is a sensing system (2-dimensional or 3-dimensional vision, LiDAR, vision sensors) that may be used to detect or confirm wheelbase dimension or determine vehicle orientation and adjust the main center beam to the center of the vehicle (either by pneumatic, hydraulic, rack & pinion or linear screws). Once the vehicle lifting device 1600 is aligned, a message is sent to a user interface of the system 100 where the message indicates to move the vehicle into position over the vehicle lifting device 1600, or the vehicle lifting device 1600 may move under the vehicle. Another sensing system may be positioned to observe at the undercarriage of the vehicle to locate or confirm lifting points. Then the lifting arm may extend and move to the appreciate position. The lifting jacks 1610, 1612, 1614, 1616 may engage with the vehicle and a force feedback system coupled to the vehicle lifting device 1600 may detect if a jack is engaged. If the feedback system does not detect engagement of the lifting jack 1610, 1612, 1614, 1616, that vehicle lifting device 1600 may adjust a lifting jack 1610, 1612, 1614, 1616 height position, and then may lower the lifting jack 1610, 1612, 1614, 1616 and try a new position.

The automated vehicle lifting device 1600 may automatically lift a vehicle via two methods. In a first method, a vehicle is driven and positioned in front of the vehicle lifting device 1600, then the vehicle lifting device 1600 extends under the vehicle, positions the lifting jacks 1610, 1612, 1614, 1616, lifts the vehicle then retracts on to itself. Once work has been completed on the vehicle, the system 100 extends the vehicle lifting device 1600, and lowers the vehicle, and then the vehicle lifting device 1600 retracts.

In a second method, a vehicle is driven over the vehicle lifting device 1600 to a designated point, then the system 100 detects the vehicle lift points (e.g., the vehicle lifting locations), and then then lifts the vehicle. Once work has been completed, the vehicle is lowered by the system 100 and the vehicle is driven from the vehicle lifting device 1600.

The vehicle lifting device 1600 contains an adjustment mechanism that includes a front face beam 1620, a first stationary arm 1622, and a second stationary arm 1624 to extend and retract along the outside of the vehicle lifting device 1600. A center-beam 1602 has four moveable lifting jacks 1610, 1612, 1614, 1616 mounted on two actuating beams with two vision systems. A front face beam 1620 is moveably coupled to stationary arms 1622, 1624. The center-beam 1602 is fixed to the front face beam 1620. The adjustment mechanism 1620, 1622, 1624 may be extended or retracted in length by the system 100 to extend or retract to various positions depending on the vehicle's length. The vehicle length is communicated to the vehicle lifting device 1600 from the system 100.

A center-beam 1602 is connected to two cross-beams 1604, 1606 that are set perpendicular to the center-beam 1602. The center-beam 1602 and two cross-beams 1604, 1604 may have various numbers of rollers attached a bottom surface to help the center-beam 1602 and cross-beams 1604, 1604 move over the ground. The actuating mechanisms to position the center beam, and/or the lifting jacks 1610, 1612, 1614, 1616 may be of any actuating type, such as rack & pinion system, linear lead screw, pneumatic linear actuator.

The system 100 may maneuver the two cross-beam up and down the cross-beam depending on the vehicles lift points. At the end of each cross-beam is a lifting jack (either hydraulic, pneumatic or electric) that is extended or retracted out depending on the vehicle. That actuating mechanism is either a rack & pinion system, linear lead screw, pneumatic linear actuator. The lifting jack 1610, 1612, 1614, 1616 is equipped with a rubber pad on the top to minimize damage to the vehicle frame.

One vision system mounted at the front face of the center beam 1602 is to identify/detect the wheelbase dimension of the vehicle and the other mounted in the center of the center beam 1602 to identify/detect the hard or soft lift point on a vehicle frame. The lift points of the vehicle and wheelbase dimension can be entered into the system 100 via prior information (scanning the VIN, scanning the license plate, from the customer's input during scheduling or can be manually entered and received by the system 100 via a user interface).

Each jack 1610, 1612, 1614, 1616 is equipped with sensors (load, pressure, vision or laser) to detect if the vehicle shifts or if any added pressure/weight is placed on the vehicle while being lifted to prevent the vehicle from falling off. If the system 100 detects one of the jacks 1610, 1612, 1614, 1616 being disturbed, the system will cause the jacks to compensate for the jack being disturbed. Since each jack 1610, 1612, 1614, 1616 can sense the weight of the vehicle it can compensate the vehicle is unbalanced to ensure that the vehicle is lifted parallel to the ground.

A cleaning apparatus may be added to lift to ensure lifting points are clearly visible. A call back system may be implemented to confirm lifting point when sensing system can't determine lifting points. Different lifting pads may be added to the jacks depending on the vehicle type which will be determined by customer input data.

The vehicle lifting device 1600 may obtain imagery or other sensor data that may be stored by the system 100 in a database 112. The system 100 for example may determine alignment of the suspension of the vehicle. The determined alignment of the suspension of the vehicle may be reported via a user interface or a generated report identifying the alignment values for the vehicle.

Referring to FIG. 17, another embodiment of an example vehicle lifting device 1700 (referred to in FIG. 1 as 140) is disclosed. An automated vehicle lifting device 1700 may be comprised of lifting jacks 1710, 1712, 1714, 1716 (and may be actuated for example by pneumatic, hydraulic, electric, rack & pinion or linear screws) that are perpendicular to the vehicle. These lifting jacks 1710, 1712, 1714, 1716 may be placed in the ground or above ground. A vehicle may be parked in a designated spot above the lifting jacks 1710, 1712, 1714, 1716. A sensing system may be positioned to look at the bottom of the vehicle to locate or confirm lifting points of the vehicle. These lifting jacks 1710, 1712, 1714, 1716 extend or retract to accommodate the width of the vehicle and adjust their position to the lifting points of the vehicle or predetermined position for that specific vehicle.

As shown in the example, the vehicle lifting device 1700 is mounted in-ground and has four independent lifting jacks 1710, 1712, 1714, 1716 that may maneuver in three degrees of freedom (x,y,z). A vehicle is driven over the vehicle lifting device 1700 to a designated point or at any position over the lifting jacks 1710, 1712, 1714, 1716, and then the system 100 detects the lift points of the vehicle via a camera 1720 mounted on floor in a center of the vehicle lifting device 1700. There is another vision system 1722 mounted in front of the vehicle lifting device 1700 that provides direction by the system 100 for positioning the vehicle (for example, either by projecting laser beam on the vehicle for a live feed of a 2D/3D model moving into the vehicle lifting device 1700), or then lifts the vehicle. Once work has been completed, the vehicle is lowered and the vehicle is driven away from the vehicle lifting device 1700. The lifting jacks 1710, 1712, 1714, 1716 (either hydraulic, pneumatic or electric) move within their designated pads (x or y) depending on the vehicle. That actuating mechanism is either a rack & pinion system, linear lead screw, pneumatic linear actuator. The lifting jack 1710, 1712, 1714, 1716 may be equipped with a rubber pad on the top of the lifting jack 1710, 1712, 1714, 1716 to minimize damage to the vehicle frame.

Each lifting jack 1710, 1712, 1714, 1716 may be equipped with sensors (load, pressure, vision or laser) to detect if the vehicle shifts or if any added pressure/weight is placed on the vehicle while being lifted to prevent the vehicle from falling off. If the system 100 detects one of the lifting jacks 1710, 1712, 1714, 1716 being disturbed, the system will maneuver the other lifting jacks 1710, 1712, 1714, 1716 to compensate. Since each lifting jack 1710, 1712, 1714, 1716 can sense the weight of the vehicle the system 100 can compensate if a vehicle is unbalanced to ensure it is lifted parallel to the ground.

All vehicle information may either be sent to the vehicle lifting device 1700 prior (such as scanning the VIN, scanning the license plate, from the customer's input during scheduling) to the vehicle maneuvering over the vehicle lifting device 1700 or manually entered via a user interface of the system 100 prior to a vehicle being driving over the vehicle lifting device 1700.

The lifting bars may have a soft pliable material, integrally connected, and/or placed on top of them to prevent damage to the underside of the vehicle.

Referring to FIG. 18, another embodiment of an example vehicle lifting device 1800 is disclosed. In another embodiment, an automated vehicle lifting device 1800 (referred to in FIG. 1 as 140) may be comprised of two independent jacks that adjusts to the lift points via a sensing system. These jacks may be placed in the ground or above ground.

This automated vehicle lifting device 1800 is designed to mounted in-ground or above ground and has two lifting jacks 1810, 1820 that are perpendicular to the vehicle. The lifting jacks 1810, 1820 span the width of various vehicles. Each lifting jack 1810, 1820 may expand or contract along the length of the vehicle depending on the vehicle lifting points.

When a vehicle is driven over the vehicle lifting device 1800 to a designated point or at any position over the lifting pads then the system 100 detects the lift points of the vehicle via a camera mount in the floor in the center of the system. There is another vision system mounted in front of the system that provides direction for positioning the vehicle (either by projecting lasers beam on the vehicle for, a live feed of a 2D/3D model moving over the vehicle lifting device 1800), or then lifts the vehicle. Once work has been completed, the vehicle is lowered and then the vehicle is moved away from the vehicle lifting device 1800. The lifting jacks 1810, 1820 (either hydraulic, pneumatic or electric) move within their designated pads (x or y) depending on the vehicle. That actuating mechanism for the lifting jacks 1810, 1820 may be of various types, such as rack & pinion system, linear lead screw, or a pneumatic linear actuator. The lifting jacks 1810, 1820 are equipped with a rubber pad on a top surface of that comes into contact with a vehicle to minimize damage to the vehicle frame/components.

All vehicle information may either be sent to the vehicle lifting device 1800 prior (such as scanning the VIN, scanning the license plate, from the customer's input during scheduling) to the vehicle maneuvering over the vehicle lifting device 1800 or manually entered via a user interface of the system 100 prior to a vehicle being driving over the vehicle lifting device 1800. The vehicle lifting device 1800 is in electronic communication with the system 100. The vehicle lifting device may receive instructions, commands and data from the system 100. Likewise, the vehicle lifting device may send data, and other information to the system 100. The vehicle lifting device may include different types of sensors for the inspection of the undercarriage of a vehicle, and/or for determination of vehicle lifting points. These sensors may include proximity sensors, video or still image cameras, LiDAR, thermal sensors, lighting, pressure sensors, and any combination thereof. The vehicle lifting device may obtain sensor data describing the undercarriage of a vehicle. For example, the sensors may obtain image information of the undercarriage of the vehicle. Using object identification techniques, the system 100 may then determine lifting point of the vehicle. Arms of the vehicle lifting device may then be positioned to the desired lifting points. The sensor information obtained by the vehicle lifting device may be stored by the system 100 and associated with the particular vehicle in a database.

Robotic Apparatus

Referring to FIG. 19, an exemplary robotic apparatus 1900 for wheel removal and replacement is disclosed. The robotic apparatus is generally referred to in FIG. 1 as 150. The robotic apparatus 1900 is in electronic communication with the system 100. The robotic apparatus 1900 may receive instructions, commands and data from the system 100. Likewise, the robotic apparatus may send data, and other information to the system 100.

In some embodiments, the robotic apparatus has control circuitry, processors, and data storage. While the disclosure discusses operable communication with the system 100, the robotic apparatus may perform the methods described herein without interaction with the system 100. For example, the robotic apparatus may have one or more processing units that may perform wheel remove and replacement without interaction with the system. The robotic apparatus may be programmed and configured to perform operations in a stand-alone manner. A complete or partial copy of data from the database 112 may be locally stored in the robotic apparatus 150 data storage.

The robotic apparatus may include different types of sensors for the inspection of a vehicle's wheel, these may include proximity sensors, video or still image cameras, LiDAR, thermal sensors, lighting, pressure sensors, and any combination thereof. These sensors may be arranged in various configurations. The robotic apparatus may obtain sensor data describing the wheel of a vehicle. For example, the sensors may obtain image information for a wheel, and the system 100 may analyze the image to determine orientation of the lug nuts, to determine physical geometry of the wheel, and to determine other aspects of the wheel. The sensor information obtained by the robotic apparatus 150 may be stored by the system 100 and may be associated with the particular vehicle and/or tire change job.

In one example, the robotic apparatus 1900 is a 6-axis robot, or articulated robot, that allows articulated and interpolated movement to any point within a working envelope. At axis 1, the robot rotates the base 1910 of the robot. At axis 2, the robot extends forward and backward the robot's lower arm. At axis 3, the robot raises and lowers the robot's upper arm. At axis 4, the robot's upper arm can wrist roll. At axis 5, the robot's lowers wrist of the robot's arm. At axis 6, the robot rotates wrist of the arm. The arm may have a tooling end 1940 with sensors, a torque wrench, and/or other devices attached.

The robotic apparatus 150 may include proximity sensors to detect objects within a working envelope, or within a threshold distance, of the robotic apparatus 150. The working envelope is a physical volume of space of movement and/or operation of the robotic apparatus 150. For example, a sensor may detect movement of a person that walks near or into the working envelope of the robotic apparatus 150. The system 100 may determine that the detected object is with a certain distance of the robotic apparatus 150. If the detected object is determined to be within a threshold distance of the robotic apparatus or the working envelope, then the system 100 may direct the robotic apparatus to cease movement and/or other operations. The system 100 may generate an error condition, and display the error condition to a user interface of the system 100. In one example, the robotic apparatus 150 may automatically resume operation once the system 100 determines that the detected object is no longer within the working envelope, or the within the threshold distance of the robotic apparatus 150. In another example, to resume operations, the user interface receives an input to resume operations. In response to the received input, the robotic apparatus 150 resumes operation.

Additionally, proximity sensors may be placed in a working environment, such as a vehicle bay, and the proximity sensors are communicatively coupled to the system 100. Similar to the discussion above, the system 100 may receive sensor data from the proximity sensors and detect an object within a working space, the system 100 may in response to detecting the object, cause one or more robotic apparatus 150 to cease operations when the object moves into the working environment.

Robotic Apparatus Placement. The number of robotic apparatus 150 may be positioned in different locations for operation and access to vehicle wheels. The following illustrates exemplary placement of a robotic apparatus and is not meant to be limiting. For example, one robotic apparatus may be positioned at two locations for access to a left and right side of a vehicle. The robotic apparatus may include a multipurpose tool for tire and lug nut removal. The robotic apparatus 150 may be affixed to a rail 1960 thereby allowing linear movement of the robotic apparatus along the rail.

In another example, two robotic apparatus 150 may be attached to a guide of rail 1960. In this configuration, one of the robotic apparatus is tooled for lug nut removal, and the other for wheel removal. The robotic apparatus may move in a linear fashion to access the front and rear wheel on a particular side of the vehicle.

In another example, four robotic apparatus 150 may be positioned with two robotic apparatus on each side of a vehicle. One robotic apparatus may be configured for lug nut removal and another for wheel removal.

A robotic apparatus may be located in a position where the robotic apparatus 150 may be able to perform operations on two vehicles. The ability of a robotic apparatus 150 to interleave work between two vehicles is discussed further below in the section on tire change job coordination. The system 100 may execute tire change job operations on two vehicles. For example, the system may instruct a particular robotic apparatus 150 to perform a wheel removal operation for a first vehicle. The robotic apparatus after taking off the wheel, may the hand the wheel off for further procession. After handing off the wheel, the system may direct the robotic apparatus to rotate toward a second vehicle. The system 100 may instruct the robotic apparatus 150 to perform a wheel replacement operation for the second vehicle. The robotic apparatus 150 may pick up a wheel that was previously taken off of the second vehicle. The robotic apparatus then may perform a tire replacement of the wheel onto the second vehicle. In other words, a particular robotic apparatus may perform operations on one vehicle in one bay, and then turn or rotate the robotic apparatus 150 to perform operations on a second vehicle in a second bay.

Robotic Tooling Head. The robotic apparatus 1900 may include a multipurpose tool head 1940 that is equipped with a gripping mechanism, torque wrench and/or sensing system to detect or confirm lug nut position and lug nut type. The tool head 1940 is configured to remove the lug nuts thereby allowing removal of a wheel. The tool head 1940 may also replace lug nuts after the wheel is replaced onto a wheel hub. The tooling end of the robotic apparatus 150 may be configured to remove lug nuts for a 4-lug nut, 5-lug nut, 6-lug nut or 8-lug nut configuration. The tooling end may include multiple attachment ends for different socket configurations. In one embodiment, the tooling end includes a singular socket that is moved to each determined lug nut position. In another embodiment, the tooling end uses multiple sockets to concurrently remove or replace two or more lug nuts simultaneously.

In one example, the robotic apparatus 1900 may include two independent tool heads with a sensing system that will either grip the wheel for removal and install, or removal and install lug nuts.

A cleaning system may be added to the robotic apparatus 150 or as a stand-alone system to clean the wheel thereby providing a surface of the wheel and lug nuts for better visibility by a sensor of the robotic apparatus, such as a digital camera. The cleaning system may be controlled via the robotic apparatus via the system 100.

Tire Gripper

The robotic apparatus 150 may include one or more tire grippers that provide a mechanism to grab, hold, move, rotate, mount, and unmount a tire and wheel from a vehicle wheel hub. Some examples, include a tire gripper with a single torque wrench that maneuvers to various lug nut positions after gripping a tire. Another example, is a tire gripper with a single torque wrench wherein the robotic apparatus moves the torque wrench to different locations to remove lug nuts prior to gripping the tire. Another example is a tire gripper with two torque wrenches that adjust to lug nut positions after gripping the tire. Another example is a tire gripper with four torque wrenches arranged in a diamond pattern that can adjust spacing depending on a lug nut pattern width.

The robotic apparatus 150 may selectively choose a tool head depending on the vehicle. For example, the robotic apparatus may be configured to selectively change from a four, five or six torque wrench pattern depending on the determined lug nut pattern of the vehicle.

FIG. 20 illustrates a schematic illustration of an example tire gripper 2000. In this example, the tire gripper 2000 includes either two, three or four fingers 2010, 2020 that grip a tire from the sides (tread of the tire). The operation of the tire gripper 2000 may be pneumatically, hydraulically, magnetically, electrically (or a combination thereof) controlled via the robotic apparatus 150.

The tire gripper 2000 may grip the outside of the diameter of the tire via two or multiple fingers 2010, 2020 which are moveably coupled to a beam 2002. The beam may be connected to the robotic apparatus 150. The fingers 2010, 2020 move forward and away from one another as indicated by the arrow 2004. The diameter of the tire to be gripped by the tire gripper 2000 is either identified by a vision system mounted on the tire gripper 2000 and a library of wheel and/or tire sizes or determined via the same vision system. Depending on the diameter of the tire, the robotic apparatus 150 will maneuver the fingers 2010, 2020 of tire gripper 2000 to an appropriate position radially around the tire and at a particular distance from the surface of the tire. Then the system 100 will cause the fingers 2010, 2020 to move together in order to grip the tire. At the end of each finger 2010, 20220 is a curved pad 2012, 2022 that is either interchangeable depending on the wheel size or fixed one size fits all. The interchangeable pads 2012, 2022 are either manually changed prior to the vehicle being serviced or automatically via a tool change mechanism by the robotic apparatus. The fingers 2010, 2020 are actuated via pneumatic or electric linear actuator or lead screws once the robot positions the tire gripper 200. Each finger 2010, 2020 is equipped with sensors (pressure, proximity, photoelectric, distance or fiber-optics) to detect that the tire gripper 2000 has made contact with the tire, and that the tire has been gripped and remains gripped while the robotic apparatus 150 is pulling the wheel off of the vehicle.

FIG. 21 illustrates a schematic illustration of an example tire gripper. In this example, the tire gripper 2100 includes either 2, 3 or 4 fingers 2112, 2122 that are equipped with adjustable grippers 2110, 2120 that grip width of the tire. These fingers can be equipped with rollers to rotate the tire for placement adjustment. The operation of the tire gripper may be pneumatically, hydraulically, magnetically, electrically (or a combination thereof) controlled via the robotic apparatus.

This tire gripper 2100 may grip the width of the tire via two or multiple fingers. The width is either identified by a vision system mounted on the tire gripper 2100 and a library of wheel sizes or determined via the same vision system. At the end of each finger 2112, 2122 is a gripping mechanism 2110, 2120 that expands or contracts to grip the tire. This mechanism is equipped with sensors (pressure, proximity, photoelectric, distance or fiber-optics) to detect that the tire gripper 2100 has made contact, gripped and remains gripped while the robotic apparatus moves the wheel. The tire gripper 2100 is actuated via pneumatic or electric linear actuator or lead screws. Each finger is mounted to a center plate 2130 that moves the fingers 2112, 2122 radially to accommodate various diameters of tires. The system 100 via the vision system may determine the tire's outside diameter and position relative to the car for the robotic apparatus 150 to position the tire gripper 2100.

FIG. 22 illustrates a schematic illustration of an example vacuum grip plate. The vacuum grip plate 2200 grips a portion of the tire wall, or wheel rim. The operation of the tire plate may be actuated via the robotic apparatus.

The vacuum grip plate 2200 may grip the face of the tire via vacuum via ports on the vacuum grip plate 2200 as applied to the surface on the rubber tire. The grip plate 2200 defines various rings of multiple orifices or ports 2202 a, 2202 b, 2202 c, 2202 c, 2202 d, etc. that are arranged in various diameters around grip plate. Each orifice 2202 a, 2202 b, 2202 c, 2202 c, 2202 d, etc. is equipped with a sensor and valve to allow vacuum to the orifices that are in contact with the rubber. The same sensors will detect if the vacuum is lost while the gripper is in motion. A vision system mounted on the gripper identifies the outside diameter of the tire in relation to the rim to center the gripper over the center of the tire. The robotic apparatus 150 will place the grip plate against the side wall of the tire, and then the vacuum generator is turned by the system causing a suction or vacuum force to grip the tire.

FIG. 23 illustrates a schematic illustration of an example mechanical tire basket 2300. The mechanical tire basket 2300 includes circular basket that cups the bottom portion of the tire with adjustable side wall to grip the tire. The inside of the mechanical tire basket 2300 can be equipped with rollers to rotate the tire for placement adjustment.

The mechanical tire basket 2300 is configured to grip the width of the tire via a basket 2310 and clap 2320. The width of the tire is either identified by a vision system mounted on the mechanical tire basket 2300 and a library of wheel sizes or determined via the same vision system. The tire basket 2300 has rollers 2330 embedded in the bottom of the basket 2310 and a clap mechanism 2320 that extends or retracts to accommodate various tire widths. The clap plate 2320 may be actuated via pneumatic or electric linear actuator, lead screws or telescoping cylinders. Additionally, the clap plate 2320 may be equipped with sensors (pressure, proximity, photoelectric, distance or fiber-optics) to detect that the mechanical tire basket 2300 has made contact, gripped and remains gripped while the wheel is being maneuvered by the robotic apparatus 150. The rollers 2330 are configured to rotate the wheel while gripped to align the wheel to the mounting stud on the vehicle.

When a tire needs to be gripped, the vision systems detect the wheel in relation to the robotic apparatus 150 and the robotic apparatus moves the mechanical tire basket 2300 below the tire. The clap plate 2310 extends to a predetermined width for that specific tire (which is either known or determined by measuring the wheel width). The robotic apparatus 150 moves the mechanical tire basket 2300 on the underside of the tire and the clap pate 2320 grips the tire.

Computer Vision

The system 100 may include a computer vision module (756 as referenced in FIG. 7) that processes obtained images. As described herein, various components may use computer vision cameras, or other sensors to assist in the location determination of physical aspects of the vehicle, physical geometry of physical aspects of the wheels of the vehicles.

FIG. 24 illustrates a schematic illustration of an image capture system 2400 obtaining an image 2410 via a computer vision camera 2420 and lug-pattern determination 2430. The system 100 may determine the pattern of lug nut bolts, where there is a determined four bolt pattern 2510, a five bolt pattern 2520, a six bolt pattern 2530 and/or an eight bolt pattern 2540.

The system 100 may use a trained neural network to identify a lug nut pattern. For example, using machine learning training techniques, the system 100 may be trained with multiple images of a 4-pattern, 5-pattern, 6-pattern, or 8 pattern lug nut configurations. Using the trained model in a production mode, then the system 100 may identify a lug nut pattern from a received image as an input to the trained neural network.

In reference to FIG. 24, the system 100 obtains an image of a wheel. As discussed previously, the image may be obtained from different devices or computers of the system 100, for example a digital camera coupled to the robotic apparatus 150, or via a mobile device communicatively coupled to the system 100. The system 100 may process the obtained image via the trained neural network as a data input, and an image classifier may then determine the particular lug nut pattern type. The system 100 may then use the lug nut pattern type as discussed herein.

The system 100 may also use an image object detection process to identify the number of lug nuts of the wheel. For example, the system 100 may receive an image and detect the number of lug nut objects of a wheel depicted in the image. The system may identify the number of lug nuts, and set the lug nut pattern based on the number of lug nuts detected. For example, if the system 100 detects 4 lug nut objects in the image, then the system 100 may use a 4 lug nut pattern for lug nut removal for a wheel. If the system 100 detects a 5 lug nut objects in the image, then the system 100 may use a 5 lug nut pattern for lug nut removal for a wheel. Based on the position of the detected objects, the system may calculate a centroid or center of the objects by connecting a line between each of the lug nut objects, and determining an intersection point of the lines. The determined centroid of the wheel may be used to position the robotic apparatus for removal of the lug nuts from the wheel.

Additionally, fiducial markers may be placed on the vehicle to assist the system 100 for determining locations. As an example, stickers with certain patterns, colors, shapes, or a combination thereof, may be placed on the vehicle. In the context of the vehicle lifting process, these fiducial markers may be placed on lifting points under the vehicle which would assist the vehicle lifting device in locating the lifting contact points for the vehicle.

Additionally, fiducial markers may be placed on a wheel fastener to indicate a location of a lug nut. This may help the robotic apparatus 150 in determining one or more positions of lug nuts of the vehicle. Fiducial markers may be wireless devices that may be affixed to the vehicle. The wireless device may be for example a blue-tooth enabled socket that is placed onto the lug nut. The socket size of the blue-tooth enabled socket may be for example in the sizes of (SAE ¾ inch, ⅞ inch, 13/16 inch; Metric 17 mm, 19 mm, 21 mm). Each of the wireless devices may emit a unique signal or signature that may be recognized by the system 100. Using multiple fiducial markers on the lug nuts the system 100 may determine the lug nut configuration of the wheel. The system 100 may detect the position of fiducial markers placed adjacently to one another, or placed across from one another, or placed on the second or third lug nut. The system 100 may then determine the center or centroid of two markers and calculate the distance between the markers. Additionally, the system 100 may determine the angle of two lines from a first fiducial marker and to a second fiducial marker, and then from the second fiducial marker to a third fiducial marker that have been placed on the lug nuts.

Based on the position of the lug nuts the system may determine the bolt pattern (for example the number of bolts and metric size in mm and/or imperial size in inches: 4-100, 4×3.94; 4-114.3, 4×4.5; 5-100, 5×3.94; 5-108, 5×4.25; 5-112, 5×4.41; 5-114.3, 5×4.5; 5-115, 5×4.52; 5-12, 5×4.72; 5-120.7, 5×4.75; 5-127, 5×5; 5-130, 5×5.12; 5-135, 5×5.3; 5-139.7, 5×5.5; 6-114.3, 6×4.5; 6-127, 6×5; 6-135, 6×5.3; 6-139.7, 6×5.5; 8-165.1, 8×6.5; 8-170, 8×6.69. The first number indicates how many lug nuts are on the wheel, and the second number describes the distance between two lug nuts. This is also referred to as the bold circle diameter, or the pitch circle diameter. While the foregoing discusses the system 100 using fiducial markers to determine a bolt pattern, the system 100 may also determine the bolt pattern using computer vision by obtaining imagery of the bolts on the wheel and using an object detection process to identify the centroid, or edge of the lug nuts. The number of bolts and the metric size in mm and/or imperial size may then be calculated by the system 100.

Referring to FIG. 25, four, five, six and eight bolt patterns are shown. The system using computer vision, fiducial makers, or other techniques described herein may determine the particular bolt pattern for the vehicle. The system 100 may then instruct the robotic apparatus accordingly to remove and/or replace lug nuts. In determining the particular size of the bolt pattern in the case of a vehicle with four lug nuts 2510, the system 100 may measure the center of two holes that are directly across from one another for example, lug nuts 2512, 2514. In determining the particular size of the bolt pattern in the case of a vehicle with five lug nuts 2520, the system 100 may measure from the center on one lug nut 2522 to the back of the third lug nut 2524. In determining the particular size of the bolt pattern in the case of a vehicle with six lug nuts 2530, the system 100 may measure the center of two holes that are directly across from one another for example, lug nuts 2532, 2534. In determining the particular size of the bolt pattern in the case of a vehicle with eight lug nuts 2540, the system 100 may measure the center of two holes that are directly across from one another for example, lug nuts 2542, 2544.

Moreover, the system 100 may identify the fiducial markers in an image taken by a camera, for example an image taken by a camera of the vehicle lifting device 140 or a camera of the robotic apparatus 150. The system 100 processes the image to detect objects in the image. Based on the detected object, the system 100 may identify the position of the marker. A fiducial maker may be associated with a particular meaning or action by the system 100. For example, based on a pattern or color of the marker, the system may identify the marker as lug nut location, a lifting point location, etc.

Vehicle Service Report, and Real-time Viewing. The system 100 may include a reporting module (758 as referenced in FIG. 7) that provides information related to the performance of the tire change job. Since the robotic apparatus 150 and the vehicle lifting device 140 may include video cameras, and other sensors, still and real-time imagery may be obtained during the lifting and wheel removal and replacement processes. The system 100 may be configured to stream the imagery obtained from a digital camera to a user interface of a mobile or web-based application thereby allowing a customer to view the maintenance of their vehicle. Additionally, the system may include a 2- or 3-dimensional model of their vehicle. The user interface may show the vehicle with tires being replaced indicative of the status of the overall tire change job.

The system may generate a vehicle service report identifying the vehicle details for a specific tire change job and may include one or more images that were obtained by the system during the vehicle check-in, vehicle lifting and/or wheel removal/replacement steps. The report may suggest additional corrective or maintenance actions to be performed, such as the vehicle needing brake replacement. The report and associated images may show that no damage occurred during tire replacement and installation.

Tire Rotation

While the above disclosure describes the system 100 being applied towards wheel removal for tire replacement, the system 100 may also be used for tire rotation. In this case, the robotic apparatus 150 removes on a first side of the vehicle, a first wheel from the vehicle as described above, and places the wheel and tire at a staging location. The robotic apparatus 150 removes on the first side of the vehicle, the second wheel from the vehicle and places the wheel and tire at a staging location. Either the same robotic apparatus 150, or another robotic apparatus, similarly removes the wheels from the other side of the vehicles. The system 100 then instructs the robotic apparatus 150 as to which location a wheel will be replaced. For example, various rotation patterns may be selected via a user interface, or be configured for a default rotational pattern. This rotational pattern may be associated with the drive type of vehicle being serviced, such as all-wheel drive, rear-wheel drive, or front-wheel drive. The following are some rotational patterns the system 100 may use:

Forward Cross (primarily for front-wheel drive vehicles). The system 100 directs the robotic apparatus 150 to move 1) the left front wheel to the left rear, 2) the left rear wheel to the right front, 3) the right front wheel to the right rear, and 4) the right rear wheel to the left front.

X-Pattern. The system 100 directs the robotic apparatus 150 to move 1) the left front wheel to the right rear, 2) the right rear wheel to the left front, 3) the right front wheel to the left rear, and 4) the left rear wheel to the right front.

Rearward Cross (primary pattern for rear and four-wheel drive vehicles). The system 100 directs the robotic apparatus 150 to move 1) the front left wheel to the right rear, 2) the right rear wheel to the right front, 3) the right front wheel to the left rear, and 4) the left rear wheel to the left front.

Same-side Pattern (pattern for vehicles with direction tires of the same size). The system 100 directs the robotic apparatus 150 to move 1) the front left wheel to the left rear, 2) the left rear wheel to the left front, 3) the right front wheel to the right rear, and 4) the right rear wheel to the right front.

Rotational Pattern (can be clockwise or counter-clockwise). The system 100 directs the robotic apparatus 150 to move 1) the front left wheel to the front right, 2) the front right wheel to the rear right, 3) the rear right wheel to the left rear, and 4) the left rear wheel to the front left.

While the rotational patterns above are described as beginning with a particular wheel, the system 100 may direct the robotic apparatus 150 to begin with any wheel and secure it to the desired wheel hub of the vehicle. The above patterns are meant to be exemplary, and not limiting.

Vehicle Interface The system 100 may be configured to receive vehicle computer information. For example, a wired or wireless monitor may be connected to a vehicle (for example, an OBD-II scanner), and information about the vehicle is retrieved and stored on the database 112. In other embodiments, vehicles may have a wireless interface directly with the vehicle's system, for example those found in self-driving or autonomous vehicles. The system 100 may establish a link with the wireless vehicle interface (e.g., a Bluetooth or WiFi connection), and obtain information, and or provide information to the vehicle. For example, the vehicle may include preferred tire pressure settings. This information may be obtained and used during the tire inflation process described above.

Tire Change Job Coordination The system 100 may include a tire change job coordination module (754 as referenced in FIG. 7) that evaluates the time necessary to complete a tire change job. While the above disclosure describes the removal and replacement of wheel for a singular vehicle, the system 100 may also control a plurality of robotic apparatus 150 to coordinate removal and/or replacement of wheels for two or more vehicles. For example, two vehicles may be positioned in a first bay and a second bay. The vehicles are lifted to a desired height. The robotic apparatus 150 may interleave work to be performed on the first vehicle, and the second vehicle. For example, the robotic apparatus 150 may take off the front wheel of the first vehicle, and hand the wheel/tire off to a tire replacement machine, or a wheel staging location. For the second vehicle, a new tire may have already been replaced and the wheel is ready to be placed back on to the front wheel hub of the second vehicle. The robotic apparatus 150 may then pick up the wheel, and place it back onto the wheel hub of the second vehicle. Next, the robotic apparatus 150 may remove the rear wheel off the second vehicle, and hand it off to the tire replacement machine. The robotic apparatus 150 may then pick up the front wheel for the first vehicle, and secure it back on to the first vehicle front wheel hub.

As described the system 100 may interact with both vehicles and perform a wheel removal or replacement operation in a sequential manner for both vehicles. The system 100 may divide a tire change job into multiple segmented operations. The system may direct a single robotic apparatus 150 to perform one or more segmented operations for a first vehicle, and then one or more segmented operations for a second vehicle. The segmented operations may have an associated duration or estimated time needed by the system to complete the segmented operation. Examples of segmented operations that may be performed by the system 100 using the robotic apparatus 150 may include:

Operation 1: Obtain sensor data describing a wheel using sensors of the robotic apparatus.

Operation 2: Determine a lug nut pattern based on the sensor data obtained by the robotic apparatus.

Operation 3: Determine lug nut size based on the sensor data obtained by the robotic apparatus.

Operation 4: Determine fiducial markers placed on a wheel based on the sensor data obtained by the robotic apparatus.

Operation 5: Determine wheel geometry, a plane of a surface of wheel, and/or position of wheel in 3-dimensional space based on the sensor data obtained by the robotic apparatus.

Operation 6: Choose or select socket by the robotic apparatus for a determined lug nut size.

Operation 7: Direct a socket onto a lug nut of a wheel of a vehicle using the robotic apparatus.

Operation 8: Remove one or more lug nuts using the robotic apparatus by applying counterclockwise motion of the socket placed onto a lug nut.

Operation 9: Detect using sensors of the robotic apparatus, rotational torque values while removing a lug nut.

Operation 10: Place a removed lug nut into a receiving bin or staging location by the robotic apparatus.

Operation 11: Grip tire with tire gripper using the robotic apparatus.

Operation 12: Determine gripping pressure of the tire gripper using sensors of the robotic apparatus.

Operation 13: Remove a wheel from the wheel hub of the vehicle using the robotic apparatus.

Operation 14: Place removed wheel in a staging location or hand off wheel by the robotic apparatus to another device.

Operation 15: Retrieve the wheel from a staging location or from another device using the robotic apparatus.

Operation 16: Obtain sensor data describing a wheel using sensors of the robotic apparatus.

Operation 17: Determine a geometry and/or position of bolt holes of the wheel based on the sensor data obtained by the robotic apparatus.

Operation 18: Obtain sensor data describing a wheel hub using sensors of the robotic apparatus.

Operation 19: Determine wheel hub bolt orientation of vehicle based on the sensor data obtained by the robotic apparatus.

Operation 20: Orient or rotate the retrieved wheel using the robotic apparatus to align the bolt holes of the wheel with the wheel hub bolt orientation of the vehicle.

Operation 21: Place the wheel onto the wheel hub of the vehicle by the robotic apparatus.

Operation 22: Obtain from a predetermined location one or more lug nuts by the robotic apparatus.

Operation 23: Place the obtained lug nuts onto a hub bolt of the vehicle using the robotic apparatus.

Operation 24: Direct a socket onto lug nut of a wheel of a vehicle using the robotic apparatus.

Operation 25: Replace one or more lug nuts using the robotic apparatus by applying clockwise motion of a socket placed onto a lug nut.

Operation 26: Detect using sensors of the robotic apparatus, rotational torque value while placing a lug nut.

The operations described above are not meant to be limiting, but illustrative of operations that may be performed by the system 100. Some of the operations may not be performed, the order of the operations may be performed in a different order than listed above. The segmented operations may be performed by a single or multiple robotic apparatus 150. The robotic apparatus 150 may perform segmented operations on a first vehicle and on a second vehicle, thereby interleaving performance of discrete operations for each vehicle.

In one example, the segmented operations may be performed in the same order for the first and second vehicle, for example the system 100 may perform one or more of operations 1-14 on a first vehicle, and then perform one or more operations 1-14 on a second vehicle. The system 100 may then perform one or more operations 15-26 on the first vehicle, and then perform one or more operations 15-26 on the second vehicle.

In another example, the segmented operations may be performed in a different order for the first and second vehicle, for example the system 100 may perform one or more of operations 1-14 on a first vehicle, and then perform one or more operations 15-26 on the second vehicle, and the perform one or more operations 15-26 on the first vehicle. The segmented operations may be ordered to minimize the total or overall processing time for both vehicles or one vehicle.

The various features and processes described above may be used independently of one another, or may be combined in various ways. All possible combinations and sub-combinations are intended to fall within the scope of this disclosure. In addition, certain method or process blocks may be omitted in some implementations. The methods and processes described herein are also not limited to any particular sequence, and the blocks or states relating thereto can be performed in other sequences that are appropriate. For example, described blocks or states may be performed in an order other than that specifically disclosed, or multiple blocks or states may be combined in a single block or state. The example blocks or states may be performed in serial, in parallel, or in some other manner. Blocks or states may be added to or removed from the disclosed example embodiments. The example systems and components described herein may be configured differently than described. For example, elements may be added to, removed from, or rearranged compared to the disclosed example embodiments.

It should be emphasized that many variations and modifications may be made to the above-described embodiments, the elements of which are to be understood as being among other acceptable examples. All such modifications and variations are intended to be included herein within the scope of this disclosure. The foregoing description details certain embodiments of the invention. It will be appreciated, however, that no matter how detailed the foregoing appears in text, the invention can be practiced in many ways. As is also stated above, it should be noted that the use of particular terminology when describing certain features or aspects of the invention should not be taken to imply that the terminology is being re-defined herein to be restricted to including any specific characteristics of the features or aspects of the invention with which that terminology is associated.

Robotic Apparatus

Referring to FIG. 26, exemplary robotic apparatus 2620 and 2640 for wheel replacement and removal are disclosed. FIG. 26 further illustrates an embodiment as previously described as to FIG. 19. A first robotic apparatus 2620 is affixed to a rail 2630 thereby allowing linear movement of the robotic apparatus 2620 along a length of the rail 2630 such that the system 100 may position the robotic apparatus 2620 to access lug nuts of a vehicle wheel 2612. The robotic apparatus 2620 has a tooling end 2622 used for removal and replacement of lug nuts of vehicle wheels 2612. For example, the robotic apparatus may have a detachably affixed torque wrench to the tooling end 2622 of the robotic apparatus 2620.

A second robotic apparatus 2640 may be positioned or stationed in a fixed location near the rail 2630. The second robotic apparatus has a tire gripping end 2642 with a tire gripper 2642, for example a tire gripper as previously discussed with regard to FIG. 20, 21, 22 or 23. The system 100 controls the second robotic apparatus 2640 to position the gripping arms of the tire gripper 2642 about the tire of the vehicle 2610 and actuates the gripping arms to clamp down against the tread surface of the tire of the vehicle wheel 2614. The system 100 may instruct the second robotic apparatus 2714 to articulate in such a manner to grip and remove, and/or grip and reposition a vehicle wheel for a front wheel and/or a back wheel of one side of a vehicle 2710.

Referring to FIG. 27, exemplary robotic apparatus 2720 and 2740 for wheel replacement and removal are disclosed. FIG. 27 illustrates a rear perspective view of the of the robotic apparatus as described as to FIG. 26. Robotic apparatus 2740 corresponds to the second robotic apparatus 2640. Rail 2730 corresponds to the rail 2630. Tire gripper 2742 corresponds to the tire gripper 2642. Vehicle wheel 2714 corresponds to vehicle wheel 2714.

Due to the variability of the length of a vehicle, the system 100 may automatically position the first robotic apparatus 2720 based on the wheelbase dimension of a vehicle. For example, a truck would have a longer wheel-base than a sedan. As discussed previously, the wheelbase of a vehicle may be determined by the system 100 receiving information (e.g., scanning the VIN, scanning the license plate, from the customer's input during scheduling or can be manually entered and received by the system 100 via a user interface), and/or using a vision system (e.g., a system connected digital camera) to obtain digital imagery of two wheels on one side of the vehicle. Using the computer vision system, the system 100 may then determine a distance from a centroid of the first wheel (e.g., the front wheel) and a centroid of a second wheel (e.g., the rear wheel). To establish an accurate distance, a known fixed device may be included in the imagery. For example, a fixed length object, a magnetic device, such as a ruler, or other marker, may be placed onto or adjacent to the body of the vehicle where the digital camera would be able to capture the device in an image. The system 100 may have previously stored dimensions of the known fixed or magnetic device. Using the dimensions of the device or marker, the system 100 may then determine an accurate ratio of the device or marker, and the centroids of the first and second wheels to establish an accurate wheelbase measurement. The system 100 may then save the wheelbase measurement in a memory store associated with the vehicle being serviced.

The system 100 may direct linear movement of the robotic apparatus 2620 along the rail 2630 based on a wheelbase associated with the vehicle. For example, after the robotic apparatus has been positioned to the first wheel for service operations (e.g., lug nut removal and/or replacement), the system 100 may instruct the robotic apparatus 2620 to linearly move along the rail 2630 based on the wheelbase associated with the vehicle 2610 to the second wheel for service.

Also, the system 100 may instruct the robotic apparatus 2620 to move along the rail 2630 while using computer vision to obtain an image of a first wheel of the vehicle. The system 100 may identify the centroid and/or other dimensions or shapes of the wheel or tire of the first wheel of the vehicle 2610. The system 100 may instruct the robotic apparatus 2620 to stop at a position along the length of the rail 2630 when the system 100 determines that the robotic apparatus 2620 has established a working distance to the first wheel where the robotic apparatus 2620 may interact with the first wheel and remove the wheel lug nuts using the tooling end 2622. After completing operations as to the first wheel, the system 100 may then instruct the robotic apparatus 2620 to move along the rail while obtaining imagery. The system 100 may process the obtained imagery (e.g., detecting the second wheel position and dimensions) and then determine when the robotic apparatus 2620 is located at a position where the robotic apparatus 2620 has established a working distance to the second wheel. A working distance would allow the robotic apparatus 2620 to interact with the second wheel and remove the wheel lug nuts using the tooling end 2622 of the robotic apparatus 2620.

Additionally, the system 100 may instruct the robotic apparatus 2620 to move bi-directionally along the rail 2630 based upon commands from a manual input device connected to the system 100. For example, the system 100 may have a wired or wireless device or user interface that receives inputs to move the robotic apparatus 2620 along the length of the rail 2630. For example, the system 100 may provide a user interface (e.g., on a mobile device or tablet) that may receive an input to move the robotic apparatus 2620. The user interface, for example, may display directional control buttons. Upon receiving a user selection of a directional control button, the system 100 may instruct the robotic apparatus to move along an indicated direction associated with the directional control bottom (e.g., a button with right and left arrows). The system 100 may be configured to move the robotic apparatus 2620 along the rail 2630 in the intended direction so long as the user interface receives continued input to the control button (e.g., receiving a constant touch input to the directional control button on a screen of a touch device.).

Robotic Apparatus Movement and Workspace Intrusion

While operating a robotic apparatus, whether systematically or via a manual input, the system 100 may interrupt and immediately stop movement of the robotic apparatus. The robotic apparatus may include proximity sensors and/or use computer vision to determine when an object such as a person or vehicle has moved into a working space of the robotic apparatus. Also, the system 100 may include independent motion sensors and/or cameras separate from the robotic apparatus. The system 100 may be configured to detect the intrusion and/or occurrence of objects in the workspace. For example, the system 100 may include a defined robotic apparatus workspace (e.g., a three-dimensional workspace area around the robotic apparatus) where no person or object should move or enter into while the robotic apparatus is moving. Should the system 100 detect movement of an object that should not be in the working space, then the system 100 in response to detection of the movement would stop movement/operation of any of the robotic apparatus. A user interface of the system 100 may then allow resuming operation of the robotic apparatus using a confirmation that the robotic apparatus workspace has been cleared. For example, the user interface may receive a selection of an input button or other control element indicating to resume operation of the robotic apparatus. Alternatively, the system 100 may be configured such that after a predetermined time period has occurred, the system 100 will evaluate the robotic apparatus workspace, and resume operation of the robotic apparatus if the system 100 determines that the workspace if free of obstructions. The workspace intrusion functionality described above also applies the robotic apparatus as described with regard to FIG. 34.

Referring to FIG. 28, a method for robotic apparatus control along a path for automated wheel removal and replacement is described. The method describes the operation and movement of a robotic apparatus along a linear path for operations and interaction with a wheel of a vehicle. In one embodiment, as described above a robotic apparatus is affixed to a rail or guide where the robotic apparatus may traverse along the rail or guide to position itself in proximity to a wheel of a vehicle. In other embodiment, the robotic apparatus is mobile and able to maneuver on the ground in any direction.

The system 100 controls the movement of the robotic apparatus to position where the robotic apparatus may interact with a wheel of the vehicle. The robotic apparatus may have a sub-system where the sub-system receives instructions to perform operations, and the sub-system controls the movement of the robotic apparatus. The robotic apparatus is instructed to move to a first operational position (block 2810). In one embodiment, the robotic apparatus is instructed to move along a linear path to a first operational position. In another embodiment, the robotic apparatus is instructed to move along a direction (such as right or left, for example, when the robotic apparatus is connected to a rail or guide). In another embodiment, the robotic apparatus is instructed to move to a coordinate location based on a 2-dimensional mapped area. In another embodiment, the robotic apparatus may be instructed to maneuver to a first wheel of a vehicle, where the robotic apparatus may use visual odometry (and/or other on-board proximity sensors) while moving along the side of a vehicle to locate a wheel and come to the first operational position. Using visual odometry, the system 100 may receive digital imagery while the robotic apparatus is in motion. The system 100 evaluates the imagery to detect the occurrence and/or the shape of the wheel. Based on the received imagery, the robotic apparatus may stop when the system 100 determines that the robotic apparatus is at a location near the wheel where the robotic apparatus is able to perform operations on the wheel. For example, the system 100 may detect the occurrence or shape of a circular object in the imagery and the system 100 may determine that the robotic apparatus is close enough to the circular object to interact with it.

After stopping at the first operational position the system 100 instructs the robotic apparatus to perform lug nut and/or lug nut lock removal for a first vehicle wheel. As described herein, the system 100 may first perform detection of lug nut patterns, lug nut types and/or lug nut lock types. During the lug and/or lug nut lock removal, the system 100 may instruct the robotic apparatus to make positional adjustments such that the entire robotic apparatus moves to another location (e.g., to another location along a linear path).

After removing the lug nuts and/or lug nut lock from the first vehicle wheel, the system 100 instructs the robotic apparatus to move to a second operational position in a manner according to one of the embodiments described above (block 2830). For example, the system 100 may instruct the robotic apparatus to move along a linear path along-side the vehicle where the robotic apparatus may interact with a second vehicle wheel.

As discussed previously, the system 100 may include monitoring for robotic apparatus workspace intrusion. The system 100 may optionally include actions to be taken while the robotic apparatus is moving from the first operational position to the second operational position. While traversing to a different location, the system 100 may stop movement of the robotic apparatus based on a determination of intrusion into an area about the robotic apparatus (block 2840). For example, the robotic apparatus may include onboard proximity sensors and may detect objects in the direction of its intended path. Should the system 100 detect an object in the path of the robotic apparatus, then the system would instruct the robotic apparatus to stop. The system 100 may then resume movement of the robotic apparatus based on determination of clearance of the intrusion in the area about the robotic apparatus (block 2850). For example, the robotic apparatus onboard proximity sensors may detect that the originally detected object is no longer in the path or has moved a distance (such as a predetermined threshold safety distance) from the robotic apparatus, and the robotic apparatus would then continue movement to the second operational position.

After arriving at the second operational position the system 100 instructs the robotic apparatus to perform lug nut and/or lug nut lock removal for a second vehicle wheel. As described herein, the system 100 may first perform detection of lug nut patterns, lug nut types and/or lug nut lock types. During the lug and/or lug nut lock removal, the system 100 may instruct the robotic apparatus to make positional adjustments such that the entire robotic apparatus moves to another location (e.g., to another location along a linear path).

In a configuration where two robotic apparatus are used together (such as the configuration described in FIGS. 26 and 27), once the first robotic apparatus (2620, 2720) has removed the lug nuts (and lug nut locks as may be required) and cleared the area of the first vehicle wheel, the system 100 may instruct second robotic apparatus (2640, 2740) to grip and remove the first vehicle wheel. The system 100 may keep track of the 3-dimensional movement of both the first and second robotic apparatus to prevent either of the robotic apparatus from colliding with one another.

Machine Learning of Lug Nut Locks, Lug Nuts and Lug Nut Patterns

The system 100 may train a machine learning model to identify, classify and/or infer from a digital image of a vehicle wheel the type of lug nut pattern, the type of lug nut (i.e., generally referred to as a wheel fastener) and/or the type of lug nut lock. The system 100 may use any suitable machine learning training technique, including, but are not limited to a neural net based algorithm, such as Artificial Neural Network, Deep Learning; a robust linear regression algorithm, such as Random Sample Consensus, Huber Regression, or Theil-Sen Estimator; a kernel based approach like a Support Vector Machine and Kernel Ridge Regression; a a tree-based algorithm, such as Classification and Regression Tree, Random Forest, Extra Tree, Gradient Boost Machine, or Alternating Model Tree; Naïve Bayes Classifier; and others suitable machine learning algorithms.

The system 100 may be trained with a training sample of multiple images of lug nut locks. Using the trained model in a production mode, then the system 100 may identify a lug nut type on a wheel a received image as an input to the trained neural network. In response to determining the type of lug nut lock, the system 100 may indicate a required socket needed to remove the type of lug nut lock. The system 100 may automatically retrieve or obtain the required socket for the tooling end of the robotic apparatus 150, 250, 1900, 2620, 3420, 3430.

The system 100 may be trained with a training sample of multiple images of lug nuts. Using the trained model in a production mode, then the system 100 may identify a lug nut type on a wheel a received image as an input to the trained neural network. In response to determining the type of lug nut, the system 100 may indicate a required socket needed to remove the type of lug nut. The system 100 may automatically retrieve or obtain the required socket for the tooling end of the robotic apparatus 150, 250, 1900, 2620, 3420, 3430.

The system 100 may be trained with a training sample of multiple images of a 4-pattern, 5-pattern, 6-pattern, or 8 pattern lug nut configurations. Using the trained model in a production mode, then the system 100 may identify a lug nut pattern on a vehicle wheel from a received image as an input to the trained neural network. In response to determining the type of lug nut pattern for the vehicle wheel, the system 100 may instruct a robotic apparatus 150, 250, 1900, 2620, 3420, 3430 tooling end to maneuver to positions in accordance of the pattern to remove and/or replace lug nuts of a vehicle wheel.

Referring to FIG. 29, a method for machine learning training and inference of lug nut lock types based on digital imagery is described. The system 100 may be trained with a training sample of digital images depicting lug nuts having a lug nut lock (block 2910). To remove a lug nut having a lug nut lock, a particular lug nut key socket is required to remove the lug nut having the lug nut lock.

The system 100 may obtain a digital image of the lug nuts of a wheel of a vehicle (block 2920). The system 100 may determine for each lug nut of the wheel whether the lug nut has a lug nut lock. The system 100 may use a trained machine learning model to determine the probability or likelihood that a particular lug nut is of a lug nut lock type (block 2930) Also, the system may employ shape detection determination to identify whether the surface of a lug nut is smooth or not, or that the edges of the lug nut do not have linear edges. Based on the detected surface or configuration of the lug nut, the system 100 may identify that a particular lug nut has a lug nut lock.

The system 100 may train the machine learning model to identify a particular lug nut lock pattern. For example, each of the lug nut key sockets have a different key pattern to remove a particular type of lug nut lock. The system 100 may determine that a key pattern of a lug nut is of a particular type and/or shape. Based on the identified type or shape of the lug nut key pattern, the system 100 may identify a particular lug nut key socket that would be required to remove the lug nut having a lug nut lock. For example, the system 100 may determine from an obtained image of a wheel of a vehicle that a lug nut has a lug nut key pattern. Determination of the lug nut key pattern would indicate to the system 100 that a lug nut key socket will be required to remove the lug nut having the lug nut key.

The system 100 may determine which particular lug nut key socket should be used to remove the lug nut having the lug nut lock (block 2940). For example, based on the key pattern shape, the system 100 may identify which particular lug nut key socket corresponds to the key pattern shape. The system 100 may then indicate, via a user interface of the system 100, the particular key socket that is needed to remove the lug nut lock. In this case, an operator would retrieve the appropriate key socket and place the key socket on the torque wrench affixed to the tooling end of a robotic apparatus 150, 250, 1900, 2620, 3420, 3430. Also, the system 100 may optionally be configured to allow the tooling end of the robotic apparatus to automatically retrieve from a set of key sockets and obtain the particular key socket needed to remove the lug nut lock (block 2950). In one embodiment, an operator may simply place the correct key socket onto the lug nut lock of the wheel, and the system 100 will detect the placed key socket, and automatically couple the torque wrench with the key socket.

After obtaining the particular key socket needed to remove the lug nut lock, then the system 100 instructs the robotic apparatus to remove the lug nut lock from the wheel hub of the wheel (block 2960). For example, the system 100 may direct the tooling end of the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 equipped with a torque wrench and obtained particular key socket to remove the lug nut lock.

After the system 100 has obtained the image of the wheel depicting the lug nuts and determined the occurrence of a lug nut lock, the system 100 may store in non-volatile storage (such as a database) a physical position of the lug nut lock on the wheel. For example, the system 100 may store the location of the lug nut lock as a coordinate (or set of coordinates) for a 3-dimensional space map. The system 100 may maneuver the lug nut key socket to the stored position of where the lug nut lock is located on the wheel.

In combination with the stored lug nut lock position, or independently, the system 100 may also use computer-assisted vision to place of the lug nut key socket on the lug nut lock. For example, the tooling end of the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 may have an attached camera. The system 100 may obtain a continuous stream of digital images. As described above, the system 100 may detect the occurrence of the lug nut lock based on object detection, machine learning inference, or other suitable computer-vision technique. The system 100 then may maneuver the lug nut key socket to the location of the lug nut lock on the vehicle wheel.

Once positioned in front of the lug nut lock, the system 100 instructs the robotic apparatus to move the tooling end of the linearly towards the lug nut key lock, such that the lug nut key socket sets over the lug nut lock. To position over key pattern of the lug nut lock, the system 100 may instruct the robotic apparatus via the torque wrench to slowly rotate the lug nut key socket such that the inner key pattern of lug nut key mates or matches up with the key pattern of the lug nut lock. To confirm proper placement of the lug nut key socket on the lug nut lock, the system 100 may direct the torque wrench to rotate the lug nut key socket while applying a force against the lug nut. The system 100 may obtain via feedback from the torque wrench a resistance (or torque) value. Should the resistance (or torque) meet or exceed a predetermined threshold value, the system 100 may confirm that the key portion of the lug nut key socket is properly set within the lock portion of the lug nut lock. The system 100 may then add increasing levels of torque against the lug nut lock to commence rotation (such as counter-clockwise rotation) of the lug nut lock. The system 100 would continue to rotate the lug nut lock until the lug nut lock is removed.

Typically, a vehicle will have a similar lug nut lock on each of the four wheels of a vehicle. In the instance of the robotic apparatus has the correct lug key socket attached to the torque wrench, after removing a lug nut lock of a first wheel (e.g. a front wheel) of a vehicle, the system 100 may direct the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 to position to another location such that the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 may be able to remove a lug nut lock of a second wheel (e.g., a back wheel) of the vehicle (block 2970).

Referring to FIG. 30, illustrates a schematic illustration of lug nut locks and lug nut lock sockets. Different lug nut sockets 3010A-301H may be used to remove a lug nut lock. The lug nuts may have an internal pattern 3020, a key pattern 3030, or a splined pattern 3040. The system 100 may train the machine learning network with images of various lug nut sockets, such as the types depicted in FIG. 30. The lug nut locks and lug nut lock sockets exemplify the types of locks and sockets that may be used by the system 100, and images of such may be used to train the machine learning network as described herein.

Referring to FIG. 31, a method for machine learning training and inference of lug nut types based on digital imagery is described. The system 100 may be trained with a training sample of digital images depicting lug nuts having differing shapes and sizes (block 3110). To remove a lug nut from a wheel, a particular sized and internal shape of lug nut socket is required to remove the lug nut. While the discussion of FIG. 31 refers to a lug nut, the method is also applicable to choosing and placement of a socket onto a wheel bolt.

The system 100 may obtain a digital image of the lug nuts of a wheel of a vehicle (block 3120). The system 100 may determine for a lug nut of the wheel the size and shape of the lug nut. The system 100 may use a trained machine learning model to determine the probability or likelihood that a particular lug nut is of a particular size and shape (block 3130). Also, the system 100 may employ shape detection determination to identify the shape and size of the lug nut. Based on the determined shape and size of the lug nut, the system 100 may identify that a particular lug nut requires a particular sized and shape lug nut socket (block 3140).

The system 100 may obtain a socket for the required shape and size of the lug nut (block 3150). The system 100 may indicate, via a user interface of the system 100, that a particular socket is needed. In this case, an operator would retrieve the appropriate socket and place the socket on the torque wrench affixed to the tooling end of a robotic apparatus 150, 250, 1900, 2620, 3420, 3430. Also, the system 100 may optionally be configured to allow the tooling end of the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 to automatically retrieve from a set of sockets and obtain the particular socket needed to remove the lug nut. In one embodiment, an operator may simply place a correctly sized socket onto a lug nut, and the system 100 will detect the placed socket, and automatically couple the torque wrench with the socket.

After obtaining the particular socket needed to remove the lug nut, then the system 100 instructs the robotic apparatus to remove the lug nut from the wheel hub of the wheel (block 3160). For example, the system 100 may direct the tooling end of the robotic apparatus equipped with a torque wrench and the obtained particular socket to remove the lug nut.

After the system 100 obtained the image of the wheel depicting the lug nuts, the system 100 may also store in non-volatile memory (such as a database) a physical position of the one or more lug nuts. For example, the system 100 may store the location of the one or more lug nuts as a coordinate (or set of coordinates) for a 3-dimensional space map. The system 100 may maneuver the lug nut socket to each of the stored positions where lug nuts of the vehicle wheel are located.

In combination with the stored lug nut position, or independently, the system 100 may also use computer-assisted vision to place of the lug nut socket onto a lug nut. For example, the tooling end of the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 may have an attached camera. The system 100 may obtain a continuous stream of digital images. As described above, the system 100 may detect the occurrence of a lug nut based on object detection, machine learning inference, or other suitable computer-vision assisted technique. The system 100 then may maneuver the lug nut socket to a location of a lug nut on the vehicle wheel.

Once positioned in front of a lug nut, the system 100 instructs the robotic apparatus to move the tooling end linearly towards the lug nut, such that the lug nut socket sets over the lug nut. The system 100 may need to slowly rotate the socket such that the internal socket edges align with the lug nut edges. To confirm proper placement of the lug nut socket on the lug nut, the system 100 directs the torque wrench to rotate the lug nut socket. The system 100 may obtain feedback from the torque wrench indicating a resistance (or torque) value. Should the resistance (or torque) value meet or exceed a predetermined threshold value, the system 100 may confirm that the lug nut socket is properly set. The system 100 may increase the level of torque of the torque wrench to then commence rotation (such as counter-clockwise rotation) of the lug nut socket to remove the lug nut. The system 100 would continue to rotate the lug nut socket until the lug nut is removed.

Typically, a vehicle will have a similar lug nuts on each of the four wheels of a vehicle. In the instance of the robotic apparatus having the correct lug socket attached to the torque wrench, after removing a lug nut of a first wheel (e.g. a front wheel) of a vehicle, the system 100 may direct the robotic apparatus to position to another location such that the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 may be able to remove each of the lug nuts of a second wheel (e.g., a back wheel) of the vehicle (block 3170).

Referring to FIG. 32, a method for machine learning training and inference of lug nut patterns based on digital imagery is described. The system 100 may be trained with a training sample of digital images depicting lug nuts having differing patterns for instance as described in reference to FIG. 25 (e.g., a four bolt pattern, a five bolt pattern, a six bolt pattern and/or an eight bolt pattern) (block 3210). To remove the lug nuts from a wheel, the system 100 needs to identify the location of each of the lug nuts to be removed.

The system 100 may obtain a digital image of the lug nuts of a wheel of a vehicle (block 3220). The system 100 may determine for a lug nut pattern of the lug nuts depicted in the image. The system 100 may use a trained machine learning model to determine the probability or likelihood that a lug nut pattern in the digital image is of a particular lug nut pattern type (e.g., a four bolt pattern, a five bolt pattern, a six bolt pattern and/or an eight bolt pattern) (block 3230).

The system 100 then performs upon a first vehicle wheel lug nut removal by the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 based on the determined lug nut pattern (block 3240). The system 100 then may determine based on the pattern of the lug nuts, the locations and distances the tooling end (e.g. with attached torque wrench and/or socket) needs to move from one lug nut to the next. Additionally, the system 100 may determine a lug nut loosening and/or replacement sequence of the lug nuts, and a path for the tooling end of the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 to move from one lug nut to the next. For example, based on a four lug nut pattern, with lug nut referenced as 1, 2, 3 4 sequentially from a first lug nut to the next lug nut in a clock-wise manner, the system 100 may determine that for the four lug nut pattern, that lug nut 1, then lug nut 3, then lug nut 2, and then lug nut 4 should be loosened in that order to optimally remove the lug nuts. For a five lug nut pattern referenced as 1, 2, 3, 4, 5 sequentially from a first lug nut to the next lug nut in a clock-wise manner, the system 100 may determine that for the five lug nut pattern, that lug nut 1, then lug nut 3, then lug nut 5, then lug nut 2, and then lug nut 4 should be loosed in that order to optimally remove the lug nuts from the wheel studs. For the six and eight lug nut pattern, the system 100 may also use a predetermined path or sequence base on the lug nut pattern type to remove and/or replace the lug nuts.

Since the system 100 has determined the lug nut pattern for a first vehicle wheel, the system 100 may forgo determining the lug nut pattern for subsequent wheels of a vehicle. The system 100 may after performing a lug nut replacement and/or removal operation on a first wheel, may direct the robotic apparatus 150, 250, 2620, 3420, 3430 to maneuver to the location of a second wheel. The system 100 may then perform upon the second vehicle wheel lug nut removal and/or replacement by the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 based on the previously determined lug nut pattern (block 3250).

Cross-Threading Determination and Torque Value Determination

FIG. 33 illustrates a method for cross-threading control for a robotic apparatus 150, 250, 1900, 2620, 3420, 3430. The system 100 may detect possible cross-threading while a robotic apparatus 150, 250, 1900, 2620, 3420, 3430 is applying a lug nut onto a wheel stud or applying a wheel bolt into a threaded holes of the wheel. The system 100 may use a torque feedback sensor on a torque wrench, servo motor, or robotic apparatus 150, 250, 1900, 2620, 3420, 3430 tooling end to measure whether a value of the torque feedback sensor is near or beyond an expected or acceptable torque value. If the torque value exceeds an allowable torque value range, then possibly a lug nut is being cross-threaded onto the wheel stud or wheel bolt is being cross-threaded while being replaced into a threaded hole. Also, when the lug nut or wheel bolt is being removed, the torque feedback sensor may sense a high torque value. The system 100 may recognize the high torque value as indicating a possible seized or frozen lug nut on a wheel stud, and/or a seized or frozen wheel bolt as to its respective threaded hole. Based on the obtained torque value, the system 100 may stop the action of removing or replacing a lug nut or wheel bolt as the case may be.

Referring to FIG. 33, the system 100 directs a robotic apparatus 150, 250, 1900, 2620, 3420, 3430 having an attached lug nut socket (or lug nut key socket) to apply rotational force to a lug nut attached to a wheel stud (or a wheel bolt as the case may be) (block 3310). While the rotational force is being applied to the lug nut, the system 100 monitors the lug nut for the occurrence of a cross-threading situation (block 3320). The system 100 may determine a cross-threading situation, for example, by evaluating whether a monitored torque value exceeds an acceptable torque value range (block 3330). For example, the acceptable torque value range could be a single torque value, such as 100 ft. lbs., or a range of numbers such as 100-110 ft. lbs. In response to determining a cross-threading situation, the system 100 may cease application of the rotation force to the lug nut (block 3340). The system 100 may provide an indication via an output device of the occurrence of the cross-threading situation to alert an operator of the occurrence of the cross-threading situation (block 3350). For example, the system 100 may provide an audible alert via a system speaker, a visual alert via system light emitting device, a message, alert via a user interface of the system, or other suitable indication of the cross-threading situation1. The system 100 may also automatically retract the tooling end of the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 such that the lug nut socket is maneuvered away from the lug nut (block 3360). Automatically moving the lug nut socket off of and away from the lug nut allows the operator to perform a visual inspection of the lug nut, and take action as deemed necessary to address the cross-threading situation.

The expected torque value may be variable in relation to the distance the lug nut has traveled along the wheel stud. For example, initially a lug nut should rotate with little resistance during the initial application of the lug nut to the first few millimeters of the lug nut thread. Then before contacting the wheel, the lug nut should rotate with relatively constant resistance. Then, as the lug nut is fastened to the wheel stud and contacts the wheel the torque resistance value would significantly increase. The foregoing also applies to a wheel bolt as to the threaded hole.

The system 100 may monitor for acceptable ranges of torque resistance for different zones or distances of the wheel stud. For example, the application of the lug nut to the first initial few millimeters of the wheel stud may have a first range of acceptable torque resistance. If the system 100 via the feedback sensor determines that a measured torque value exceeds the tolerable predetermined limits, then the system 100 may stop rotation of the lug nut. The system 100 may provide an error or warning message, such as an audible message or alert, a message via a system user interface to an operator, or other suitable indication of exceeding the tolerable predetermined limits (i.e., torque value out of range condition). Additionally, in response to the torque value out of range condition, when the system 100 stops rotation of the lug nut, the system 100 may retract the tooling end of the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 from the lug nut so that an operator may physically check the lug nut for any binding or cross threading. The foregoing also apples to a wheel bolt as to the threaded hole.

Moreover, while a lug nut is being applied to the wheel stud, the system 100 may determine how far the lug nut has moved along the length of the wheel stud. Initially, when the system 100 removes a lug nut from the wheel stud, the system 100 may track the number of rotations of the lug nut from an original seated position against a wheel to a free position. The free position is when the lug nut detaches from the wheel stud. The system 100 may compute a distance the lug nut has moved based on the number of rotations of the lug nut.

Additionally, the system 100 may measure the linear distance the tooling end of a robotic apparatus moves to rotate a lug nut from a seated position to a free position. The system 100 may store the linear distance that each lug nut traveled from the seated position to the freed position. For a particular wheel of a vehicle, the system 100 may track the distances each of the lug nuts have traveled. Then when the system 100 replaces a lug nut to a respective wheel stud, the system 100 may track the distance the lug nut has traveled back on to the wheel stud. While the foregoing refers to a lug nut and wheel stud, the measuring also applies to a wheel bolt which are screwed into a threaded hole in a wheel hub, commonly referred to as a bolted joint.

When reapplying the lug nut to a wheel stud, the system 100 may determine the overall distance the lug nut has moved and stop rotation when the lug nut has moved to an approximate distance similar to the measured distance when the lug nut was removed.

Moreover, when reapplying a lug nut to a wheel stud, the system 100 may determine whether the lug nut is fully seated against the wheel of the vehicle. The system 100 may use an initial determined position where the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 removed the lug nut. As described above, the system 100 may determine the distance of how far a lug nut (or a wheel bolt) has traveled from an original seated position against the wheel. The system 100 may also confirm that a lug nut is seated against the wheel via computer vision image acquisition and analysis. For example, the system 100 may obtain digital imagery of the lug nut while the lug nut is being applied and fastened to the wheel stud. The system 100 may evaluate the obtained digital imagery to determine whether any threads are exposed. If the system 100 determines that threads are still exposed, then the system 100 may infer that the lug nut is not yet seated. Moreover, the system 100 may evaluate whether there exists any gap between the end of the lug nut and the wheel. A detection of a gap by the system 100 would indicate that the lug nut is not fully seated against the wheel. Additionally, the system 100 may use a laser measuring device to measure a distance to a surface of the pocket of the wheel rim and the lug nut. If the measured distance exceeds a predetermined threshold distance value, then they system 100 may determine that the lug not is not yet fully seated. If the system 100 determines that the lug nut is not fully seated, the system 100 may instruct the robotic apparatus to apply additional rotational torque to the lug nut, and then stop rotational torque when a predetermined torque value has been achieved.

Also, the system 100 may stop rotation of the lug nut when the lug nut reaches a specified torque value (e.g., 20-120 ft-lbs.) or when the lug nut is within a torque value range. For example, the system 100, when replacing a lug nut, may determine that the lug nut is fully seated against the wheel and then continue rotation of the lug nut until a predetermined torque value has been reached. The system 100 may retrieve a torque value from a database with stored torque values for different vehicle makes and models. Based on a retrieved torque value from the database, the system 100 may instruct the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 to tighten the lug nut to the retrieved torque value for the specified make and model of vehicle. Additionally, the system 100 may provide a system user interface where an operator may input a desired torque value for a vehicle. For example, the system 100 may receive a data input via a user interface and accept a data value in foot pounds (ft-lbs.) and/or in newton-meters (nm). The system 100 will then instruct the robotic apparatus to torque one or more lug nuts of a vehicle to the specified input data value. The foregoing also apples to a wheel bolt as to the threaded hole. Once the system 100 has determined that the lug nut is fully seated, the system 100 may instruct the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 to replace the lug nut for another wheel stud.

When reapplying a lug nut to a wheel stud, the system 100 may have previously stored the last rotational position of a particular lug nut as the lug nut is freed from the wheel stud (i.e., when the threads of the lug nut are cleared form the threads of the wheel stud). For example, the system 100 may store the rotational position for each of the 5 lug nuts of a 5-lug nut pattern. The system 100 may then rotate a lug nut to the same rotational position as when the lug nut was freed. Doing so, allows the system 100 to line up the end threaded portions of the lug nut and wheel stud. Additionally, the system 100 may slightly rotate the lug nut counter-clockwise by a predetermined degree value, such as a value in the range of 0.5-180 degrees. This allows for some error in placement of the lug nut and matching of the threaded portions of the lug nut and of the wheel stud.

In one embodiment, when reapplying the lug nuts to the wheel studs, the system 100 may direct the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 to torque a first lug nut (or wheel bolt) to a seating torque value. For example, if the required torque value is ninety (90) ft-lbs, the system 100 may direct the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 to apply rotational torque to the lug nut until the torque value indicates that a seating torque value has been achieved. For example, the seating torque value may be sixty (60) ft-lbs. Applying the seating torque value to a lug nut by the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 helps set the wheel against the wheel hub. The seating torque value is a torque value less than the required torque value. The required torque value may be read from a database having stored a required torque value, and the required torque value may be retrieved based on a make/model for the value, a VIN number, license plate, or some other identifier. Additionally, the system 100 may provide a system user interface where an operator may input a seating torque value and/or a required torque value for a vehicle. The required torque value is a torque value used to securely torque a lug nut to a wheel stud, such as a torque value recommended by a manufacturer. The system 100 then directs the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 to torque the remaining lug nuts to the seating torque value. The last lug nut to be set to the seating torque value may be then be torqued to the required torque value of 80 ft-lbs. Alternatively, the robotic apparatus may move to the first or other lug nuts and torque the lug nuts to the required torque value. The lug nuts may be torqued by the system 100 in an alternating, sequential, or other suitable pattern. While the system 100, via the robotic apparatus 150, 250, 1900, 2620, 3420, 3430, may apply the lug nuts to the wheel studs, optionally an operator may pre-thread one or more lugs nuts to the wheel studs. The system 100 may detect that a lug nut has been placed on the end of the wheel studs and direct the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 to torque the lug nut onto the wheel stud initially to a seating torque value, and then later to a required torque value.

In another embodiment, the system 100 may direct the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 to torque one or more lug nuts to a seating torque value, and then torque the remaining lug nuts to the required torque value, and then go back and torque the one or more lug nuts to the required torque value. This allows the system 100 to direct the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 to just seat one or more lug nuts, and then torque the other lug nuts to the required torque value without having to first seat them.

In one embodiment, the system 100 may direct the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 to sequentially or via some alternating pattern torque each of the lug nuts to a required torque value. After setting each of the lug nuts to the required torque value, the system 100 may direct the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 to torque each of the lug nuts again to the required torque value.

In one embodiment, the system 100 may direct the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 to position the lug nut onto the wheel stud and then torque the lug nut to a specified torque value or within a predetermined torque range such that the lug nut seats against the wheel. The system 100 may then direct the robotic apparatus to reverse the rotational torque such the that lug nut loosens (e.g., counter-clockwise rotation) from the wheel. For example, the system 100 may reverse the lug nut for one more full or partial rotations to loosen the lug nut. The system 100 may then fully torque the lug nut to the required torque value to securely set the lug nut against the wheel.

In one embodiment, when initially removing a lug nut the system 100 may determine a breakaway torque for achieved for breaking the lug nut from a seated position. For example, the system 100 may direct the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 to apply rotational torque to remove the lug nut (e.g., a counter-clockwise force). During the applying of the rotational torque the system 100 may determine the amount of force being applied to rotate the lug nut. The system 100 may keep track of a value for the amount of the maximum torque that is being used to rotate the lug nut. The system 100 may detect the moment when the rotational force falls below the maximum recorded value. The system 100 may determine that the lug nut has achieved a breakaway state of the lug nut. The breakaway state of the lug nut is where the amount of torque needed to rotate the lug nut for removal is less than the maximum recorded value for the lug nut. The system 100 may then continue to monitor the torque value for removing the lug nut. The system 100 may determine whether the continued monitored torque value is close to, equal or exceeds the maximum recorded torque value (i.e., the breakaway torque value). For example, in removing the lug nut after the breakaway torque is reached, the run-up or run-down torque of a lug nut should not overcome the breakaway torque value. If this happens, the system 100 may either reverse the torque direction of the lug nut a quarter turn and try again or reverse direction of the lug nut and apply some force or remove force with the robotic apparatus and apply rotational torque again to the lug nut. In another example, in removing the lug nut after the breakaway torque is reached the run-up or run-down torque should not overcome the breakaway torque value. If this happens, the system 100 may direct a tire gripper to grip and shake the tire, and then try to remove or install lug nut again by applying rotational torque again.

In one embodiment, the system 100 may obtain infrared imagery of the lug nut while the lug nut is being placed onto or removed from the wheel stud. The system 100 may determine based on a detected heat value in the infrared range (e.g., the electromagnetic spectrum of roughly, 9,000-14,000 nanometers) that the lug nut is likely involved in a cross-threading situation with the wheel stud, or a cross-threading situation with a wheel bolt. For example, the system 100 may obtain an infrared image (e.g., a thermogram), and determined the color of the lug nut in the image. Brighter colors in the image (e.g. red, orange and yellow) indicate warmer temperatures (i.e., more heat and infrared radiation being emitted from the lug nut), and darker colors (e.g., purples, dark blue, and black) indicate cooler temperatures (i.e., less heat and infrared radiation being emitted from the lug nut). Based on a particular color range and/or translated heat range, the system 100 may determine that a lug nut is cross-threading thereby causing increased friction and a higher than normal heat value (e.g., an acceptable temperature). The system 100 may also use any other suitable heat detector such as a non-contact laser infrared thermometer, or a contact thermometer that is placed in contact with the lug nut when the lug nut is being replaced onto or removed from the wheel stud. The system 100 may receive a temperature value from either of these thermometers and determine whether a cross-threading event or situation has likely occurred based on the read temperature value of the lug nut and whether the temperature value exceeds an acceptable temperate range or value. The infrared camera, the laser infrared thermometer, and/or the contact thermometer may be coupled to a tooling end of the robotic apparatus 150, 250, 1900, 2620, 3420, 3430.

The system 100 may be configured to evaluate the conditions of threads of a wheel stud and take an action in response to determining the condition of the threads. In one embodiment, the system 100 uses computer vision system to obtain digital imagery or 3-dimensional data of the threads of the wheel studs. The system 100 may obtain a 360-degree imagery or other sensor data for each of the wheel studs. Based on the obtained digital imagery or 3-dimensional sensor data of the threads, the system 100 may determine whether the threads are clean and/or clear of burns or dents. If the system 100 determines that the wheel studs have damage or are not clean, then the system 100 may provide an alert, message or other information via a system user interface to a control operator that the wheel stud has a condition that is unsuitable for reapplying the lug nut. The system 100 may present via the user interface a digital image of the wheel stud with a notation of the problem identified by the system. To determine irregularities in the threads of the wheel stud, the system 100 may analyze whether the threads are parallel, or that the threads form a linear parallel pattern. A dent may be determined where a portion of the thread is not parallel to an adjacent portion of the thread. To determine whether the threads have burns or are not clean, the system 100 may analyze the image for differences along the length of a wheel stud, for example evaluating differences in color, contrast or shading of the wheel stud. The system 100 may determine for example that a portion of the wheel stud is much darker than other portions of the wheel stud. The system 100 may determine that condition of the wheel as being possibly dirty or burnt.

In one embodiment, when the robotic apparatus removes a lug nut, the system 100 may direct the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 to set the lug nut into some cleaning solvent to remove dirt, grease or grime from the lug nut. Additionally, the system 100 may direct the robotic apparatus to run the lug nut back and forth over or about a cleaning brush to clean the threads of the lug nut.

In one embodiment, the system 100 may learn the amount of breakaway torque and/or required torque for different vehicle types. The system 100 may collect data regarding measured torque values as described herein. The system 100 may identify a stage of lug nut removal or replacement, or a position of a lug nut, and create a torque profile for torque values for the different stages or positions. The system 100 may create a typical torque value or torque range for different types of vehicles. The system 100 may use the torque range values to assess whether the breakaway torque and/or required torque are within acceptable ranges. For example, if the system 100 determines that a measured breakaway torque value is outside of a normal range or a typical or average learned range of breakaway torque values, then the system 100 may alert an operator similar to the manner as described herein for other alerts. Additionally, the system 100 may cease rotational force when removing or applying a lug nut if the measured torque value is outside of a predetermined range.

Based on the breakaway torque value, the system 100 may determine that a particular wheel stud may need replacement. For example, if a normal torque value for a lug nut of a vehicle is supposed to be 100 ft-lbs, and the system 100 determines that the breakaway torque value is in a significantly higher range, such as 120-140 ft-lbs, this could indicate that the threads of the wheel stud have been stretched from over-torqueing. The system 100 may provide an alert, status or other type of report via a system 100 user interface or device when an over-torqueing condition has been determined. An over-torqueing condition may lead to stretching of the threads of the wheel stud, warping rotors, causing early break pad wear, and/or may causing wheel bearings to go bad. The system 100 may determine that above a threshold torque value over a normal torque value, that the system 100 may be configured to discontinue operations for the vehicle wheel due to likely wheel stud failure, unless the wheel stud is replaced.

Automated Robotic System

FIG. 34 illustrates a schematic drawing of an example system for the automated removal and replacement of a wheel and tire. This example system 3400 includes a vehicle lift 3410, two lug nut removal and replacement apparatus 3420, 3430 and a tire removal robotic apparatus 3440. The vehicle lifting device 3410 may be any suitable lifting devices to lift a vehicle 3460, and more particularly may be one of the lifting devices 1600, 1700, 1800 as described with regard to FIG. 16, 17 or 18. The vehicle lifting device 3410 may be controlled by the system 100 to cooperatively maneuver with the lug nut removal and replacement robotic apparatus 3420, 3430 and/or tire removal robotic apparatus 3440.

The first lug nut removal and replacement robotic apparatus 3420 is configured to maneuver horizontally along guide rail 3422. The second lug nut removal and replacement robotic apparatus 3430 is configured to maneuver horizontally along guide rail 3432. The system 100 controls the position of the first and second lug nut removal and replacement robotic apparatus 3420, 3430 to allow a control arm 3426, 3436 to position towards a wheel of the vehicle 3460. The control arms 3426, 3436 may move towards and from the vehicle 3460. In one embodiment, the control arm 3424, 3434 move linearly via along a control am extender 3424, 3434 (hidden from view). The control arm extender may be affixed to a rotatable base plate 3428, 3438. In one embodiment, the horizontal guide rail 3422, 3432 may also be configured to be raised and lowered vertically.

The tire removal robotic apparatus 3440 has a tire gripping end 3442 for removing tires once the lug nuts of a tire have been removed. The tire removal robotic apparatus is depicted a vacuum grip plate, for example as described with respect to FIG. 22. The tire removal robotic apparatus may also be configured with a tire gripper (e.g., as described with respect to FIG. 20 or 21), a tire basket (e.g., as described with respect to FIG. 23), or other suitable device or mechanism that may grab or lift the tire in a manner to remove and/or replace the tire and wheel to and from the vehicle 3460.

Also, depicted is a tire removal and balancing machine 3450. The machine 3450 removes the tire from wheel and/or mounts a tire to a wheel. The machine 3450 may also mount the tire to the wheel and/or determine balancing of the wheel with a new tire applied to the wheel.

FIG. 35 illustrates a schematic drawing of an example modular container system 3500. The module container system 3500 may include portions of shipping containers that have been assembled together. In one embodiment, walls of adjoining sides of two shipping containers 3510, 3520 have been previously removed, and the two shipping containers 3510, 3520 are joined together to form a structure. The individual shipping containers may be moved to a location and the shipping containers 3510, 3520 may be affixed together to form a first enclosure.

Within the first enclosure, a tire removal and replacement system 3400, such as described with regard to FIG. 34 may be installed in the first enclosure. While not depicted, the front (or open) side of the first enclosure may have doors that open and close. Also, the first enclosure may have a ramp allowing vehicles to drive up into the enclosure. The module container system 3500 provides a mobile tire changing station allowing tire removal and replacement system 3400 to be easily transported to a location. Guide rails 3422 may be mounted to the inner wall of shipping container 3510, and guide 3432 may be mounted to the inner wall of shipping container 3520.

The first enclosure may have stacked upon it another second enclosure. The second enclosure may be formed with shipping containers 3530, 3540. This second enclosure may be used for example, as room to store tires and/or other supplies, or for example may be used as an office. The second enclosure may have an attached stair well, or ladder to access the second enclosure. The second enclosure may be securely fixed to the first enclosure. The first enclosure may be placed on blocks or risers 3550 to lift or elevate the first enclosure off of the ground.

Vehicle Tire Wear

The system 100 may obtain imagery of vehicle tire tread using a digital camera. The system 100 may determine whether a tire has uneven tread wear. The system 100 may obtain a digital image of a tire showing the tread of the tire. The system 100 may determine a first tread depth distance for a first portion of the tire tread. The system 100 may determine a second tread depth distance for a second portion of the tire tread. The system 100 may compare the first and second tread depth distance value to determine a tread depth variance value between the first and second tread depth portions. The system 100 may determine an occurrence of uneven tire treadwear if the tread depth is greater than an allowable variance value.

For example, the system 100 may determine a depth of tread for an inner and outer sides of the tire. The system 100 may determine a first tread depth and a second tread depth (e.g., measured in millimeters or inches). The system 100 may compare the first and second tread depth to determine a deviation distance. For example, the first tread depth may be 17 mm and the second tread depth may be 10 mm. The system 100 may determine an absolute value for the calculation of the first tread depth minus the second tread depth. For example, |17 mm−10 mm|=7 mm. The system 100 may compare the absolute value to an acceptable deviation value. For example, for the given make and model of the tire, or generally, is 7 mm deviation an acceptable value or within a normal wear range? If the system 100 determines that the wear pattern is not within acceptable range, then the system 100 may indicate via an alert, or user interface, or system generated message, that the vehicle may have suspension problems. In one embodiment, in response to the determination of likely suspension problems the system 100 may evaluate the tow angle of the wheels, or other suspension components. This vehicle wear detection process may be combined with other system 100 processes as described herein.

Suspension Problem Detection

In one embodiment, the tire gripper of the robotic apparatus may move the tire and the system may detect movement of the tire while attempting to slightly push a side of the tire inward and the opposite side of the tire outwards from the vehicle. The system 100 may detect how far the tire is able to be pushed inward. The system 100 retrieve from a database a normal value of a travel distance. If the travel distance is determined to be greater than the normal value of the travel distance, the system 100 may identify the suspension for that the particular vehicle wheel as have a probable suspension problem. For example, the if the travel distance is greater than 3-10 mm, than the vehicle likely has a suspension problem with that vehicle wheel. For example, the suspension problem could be with the ball joint, steering suspension, tie rods, etc. The system 100 may provide an indication to the operator to further physically evaluate the suspension for the vehicle wheel. The system 100 may record the amount of travel in the wheel and generate a report for indicating the travel amount. This suspension problem detection process may be combined with other system 100 processes as described herein.

Missing Lug Nut Detection

In one embodiment, the system 100 may determine that a lug nut is missing from the lug nuts on a vehicle wheel. As indicated previously, the system 100 may obtain images of the vehicle wheel and determine based on image processing that one of the lug nuts is missing. The system 100 may identify the locations of each of the lug nuts in a lug nut pattern and determine a lug nut is missing from the identified location. The system 100 may determine a variance in a location where a lug nut is supposed to be located. For example, the system 100 may evaluate a grouping of pixels, such as a circle or square at a location of the lug nuts for a lug nut pattern. The system 100 may process the grouping of pixels to identify whether the grouping of pixels is a lug nut or not. If the grouping of pixels is determined not to be a lug nut, then the system 100 may indicate that a lug nut is missing for the particular location of the lug nut pattern. The system 100 may provide an alert, message or other indication that a lug nut is missing from the vehicle wheel. The system 100 may send a message to a supply or service department to request a replacement lug nut. The system 100 would record information about the missing lug nut and its position. The system 100 may still proceed with removal of the other lug nuts and remove the wheel for tire replacement. The system 100 would then replace the lug nut that were removed, leaving the one lug nut missing. For example, the system 100 would adjust the lug nut removal and replacement pattern due to the missing lug nut. Ideally, however, a replacement lug nut would be provided by an operator and placed on the wheel stud missing the lug nut, placed in a location where the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 may be able to retrieve and then replace the lug nut onto the wheel stud. This missing lug nut detection process may be combined with other system 100 processes as described herein.

Torque of all Lug Nuts

In one embodiment, the system 100 does not remove any vehicle wheels, but performs a tightening or retorquing of all of the lug nuts of the vehicle. For example, after new tires are placed on a vehicle, the vehicle ideally would drive a number of miles to break in the new tires, for example 100 miles. The system 100 may operate in a mode where the robotic apparatus torques each of the lug nuts of the vehicle to a predetermined torque value for each of the wheels of the vehicle. In this embodiment, the system 100 would not remove the lug nuts, but just torque the lug nuts to a predetermined torque value.

Example Process

The system 100 may obtain digital imagery of one or more vehicle wheels. The system 100 may determine based on the digital imagery of the one or more vehicle wheels the lug nut bolt pattern and the orientation of each of the lug nuts. For example, when the vehicle is lifted on a vehicle lift a digital camera may obtain the orientation of a vehicle wheel. The system 100 may determine the lug nut pattern and the orientation of the lug nuts. The orientation of a lug nut indicates at what clock position or degree position a lug nut is positioned. The system 100 directs a robotic apparatus 150, 250, 1900, 2620, 3420, 3430 to remove the lug nuts of a first vehicle wheel. The robotic apparatus 150, 250, 1900, 2620, 3420, 3430 may have configured a wheel removal tool, such as a tire gripper. In such a case, the robotic apparatus may remove the wheel and tire from the vehicle and hand off the wheel and tire to another processing station (such as a tire removal machine). If the robotic apparatus does not have a wheel removal tool, then the system 100 may have another robotic apparatus used for removal of the wheel and tire from the vehicle. The system 100 may determine a breakaway torque initially removing a lug nut from a wheel stud. The breakaway torque value may be compared to a normal torque value for the vehicle to determine potential problems with an over-torqueing condition. After removing the lug nuts from the first vehicle wheel, the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 may maneuver to a second position to interact with a second wheel of the vehicle. The distance moved to the second wheel may be determined as described herein. The system then directs the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 to remove the lug nuts of the second vehicle wheel. While maneuvering or operating the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 may determine workspace intrusion and temporary halt movement of the robotic apparatus 150, 250, 1900, 2620, 3420, 3430 as described above. When replacing the wheel back onto the wheel studs, the robotic apparatus may hold the wheel against the wheel rotor. The lug nuts are torqued by the robotic apparatus to a predetermined torque value. The robotic apparatus 150, 250, 1900, 2620, 3420, 3430 may torque the lug nuts in a manner to avoid cross-threading as described above. After all of the vehicle wheels have been replaced and the vehicle leaves the vehicle lift, the vehicle may later be re-lifted and have each of the lug nuts of the vehicle wheels torqued to the pre-determined torque value. 

What is claimed is:
 1. A computer-implemented method for vehicle lug nut removal and replacement, the method comprising: determining a lug nut pattern for a first vehicle wheel, wherein the lug nut pattern identifies a position for each of the lug nuts of the first vehicle wheel; directing a robotic apparatus to maneuver to each position of the lug nuts of the first vehicle wheel, and to apply a rotational torque with a socket to remove the lug nuts of the vehicle wheel; directing the robotic apparatus to maneuver to each position of the lug nuts of the first vehicle wheel, and to apply a rotational torque with a socket to replace the lug nuts of the vehicle wheel; and monitoring a rotational torque value while applying the rotational torque to the lug nuts.
 2. The computer-implemented method of claim 1, further comprising: determining whether the rotational torque value exceeds a predetermined torque value; and ceasing rotational torque if the rotational torque value exceeds the predetermined torque value.
 3. The computer-implemented method of claim 1, further comprising: obtaining a digital image of the first vehicle wheel, the first vehicle wheel having multiple lug nuts; and determining the occurrence of a missing of a lug nut by examining the image for a variance in the image where a lug nut is supposed to be located.
 4. The computer-implemented method of claim 1, further comprising: obtaining a digital image of a tire of the first vehicle wheel, the tire having a tire tread; determining a first tread depth distance for a first portion of the tire tread; determining a second tread depth distance for a second portion of the tire tread; comparing the first and second tread depth distance to determine a tread depth variance between the first and second tread depth portions; determining an occurrence of uneven tire treadwear if the tread depth variance is greater than an allowable variance value.
 5. The computer-implemented method of claim 1, further comprising: at a first position, directing the robotic apparatus to torque each the lug nuts of the first wheel of the vehicle to a predetermined torque value; moving the robotic apparatus to second position where the robotic apparatus may access a second wheel of the vehicle, wherein the robotic apparatus moves along a guide rail; and directing the robotic apparatus to torque the lug nuts of the second wheel of the vehicle to the predetermined torque value.
 6. The computer-implemented method of claim 1, further comprising: determining whether a lug nut is of a lug nut lock type; and obtaining a lug nut key for the determined lug nut lock type.
 7. The computer-implemented method of claim 1, further comprising: determining a cross-threading occurrence by evaluating a heat value associated with a lug nut; and ceasing the rotational torque when the cross-threading occurrence is determined.
 8. The computer-implemented method of claim 1, further comprising: gripping the tire of the first vehicle wheel with the robotic apparatus; articulating the sides of tire in a manner to determine a movement of the tire; and determining based on the movement of the tire that a problem exists with the suspension associated with the first vehicle wheel.
 9. The computer-implemented method of claim 1, further comprising: when applying the lug nuts to the first vehicle wheel, tightening each of the lug nuts of to a first predetermined torque value; and after tightening each of the lug nut to the first predetermined torque value, tightening each of the lug nuts to a second predetermined torque value, wherein the second predetermined torque value is greater than the first predetermined torque value.
 10. The computer-implemented method of claim 5, further comprising: determining the occurrence of a workspace intrusion for the robotic apparatus; cease movement of the robotic apparatus upon a determination of the occurrence of the workspace intrusion.
 11. An automated lug nut removal and replacement system comprising: a computer system including one or more processors, a robotic apparatus comprising control circuitry, the control circuitry of the robotic apparatus communicatively coupled to the computer system; wherein the computer system is configured to perform the operations, using the or more processors, of: determining a lug nut pattern for a first vehicle wheel, wherein the lug nut pattern identifies a position for each of the lug nuts of the vehicle wheel; directing the robotic apparatus to maneuver to each position of the lug nuts of the first vehicle wheel, and to apply a rotational torque with a socket to remove the lug nuts of the vehicle wheel; directing the robotic apparatus to maneuver to each position of the lug nuts of the first vehicle wheel, and to apply a rotational torque with a socket to replace the lug nuts of the vehicle wheel; and monitoring a rotational torque value while applying the rotational torque to the lug nuts.
 12. The system of claim 11, the operations further comprising: determining whether the rotational torque value exceeds a predetermined torque value; and ceasing rotational torque if the rotational torque value exceeds the predetermined torque value.
 13. The system of claim 11, the operations further comprising: obtaining a digital image of the first vehicle wheel, the first vehicle wheel having multiple lug nuts; and determining the occurrence of a missing of a lug nut by examining the image for a variance in the image where a lug nut is supposed to be located.
 14. The system of claim 11, the operations further comprising: obtaining a digital image of a tire of the first vehicle wheel, the tire having a tire tread; determining a first tread depth distance for a first portion of the tire tread; determining a second tread depth distance for a second portion of the tire tread; comparing the first and second tread depth distance to determine a tread depth variance between the first and second tread depth portions; determining an occurrence of uneven tire treadwear if the tread depth variance is greater than an allowable variance value.
 15. The system of claim 11, the operations further comprising: at a first position, directing the robotic apparatus to torque each the lug nuts of the first wheel of the vehicle to a predetermined torque value; moving the robotic apparatus to second position where the robotic apparatus may access a second wheel of the vehicle, wherein the robotic apparatus moves along a guide rail; and directing the robotic apparatus to torque the lug nuts of the second wheel of the vehicle to the predetermined torque value.
 16. The system of claim 11, the operations further comprising: determining whether a lug nut is of a lug nut lock type; and obtaining a lug nut for the determined lug nut lock type.
 17. The system of claim 11, the operations further comprising: determining a cross-threading occurrence by evaluating a heat value associated with a lug nut; and ceasing the rotational torque when the cross-threading occurrence is determined.
 18. The system of claim 11, the operations further comprising: gripping the tire of the first vehicle wheel with the robotic apparatus; articulating the sides of tire in a manner to determine a movement of the tire; and determining based on the movement of the tire that a problem exists with the suspension associated with the first vehicle wheel.
 19. The system of claim 11, the operations further comprising: when applying the lug nuts to the first vehicle wheel, tightening each of the lug nuts of to a first predetermined torque value; and after tightening each of the lug nut to the first predetermined torque value, tightening each of the lug nuts to a second predetermined torque value, wherein the second predetermined torque value is greater than the first predetermined torque value.
 20. The system of claim 15, the operations further comprising: determining the occurrence of a workspace intrusion for the robotic apparatus; cease movement of the robotic apparatus upon a determination of the occurrence of the workspace intrusion. 